Skip to content

A lightweight library to handle the mouse, keyboard and touch control from end-user.

License

Notifications You must be signed in to change notification settings

jingwood/js-input-control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@jingwood/input-control

A lightweight Javascript library used to handle the input events of mouse, keyboard and touch control from end-user.

Features

  • Event registeriton and dispatching
  • Receives and dispatches mouse, keyboard and touch events
  • Provides and dispatches dragging events based on mouse and touch events
  • Provides functions to check whether specified key is pressed
  • Provides hotkey define feature (todo)

Installation

yarn add @jingwood/input-control

Hello-World

// get the element to receive mouse, keyboard and touch events
const element = document.getElementById(myTargetElement);

// make sure the element can receive keyboard events
element.tabIndex = 0;
element.focus();

// create controller and use 'on' method to receive input events
const controller = new InputController(element);

// keyup event
controller.on("keyup" e => {
  if (e.keyCode === 32) {
    alert("Space key was pressed");
  }
});

// drag event
controller.on("drag", e => {
  console.log("mouse moving " + e.movement.x + ", " + e.movement.y);
});

License

Released under MIT License

Copyright (C) 2015-2020 Jingwood, unvell.com, all rights reserved.