Skip to content

Repository files navigation

License: MITnpm versionlast version release dateJest:coverageminified size

Synopsis

CtrlTab.js is a shortcut key bindings library with multiple keystroke detection.

Installation

npm

$ npm install @dwtechs/ctrltab

Yarn

$ yarn add @dwtechs/ctrltab

Usage

ES6

import{Keyboard}from"@dwtechs/ctrltab";letkeyboard=newKeyboard();keyboard.addCmd("action0",null,[32],action0,{preventDefault: true,groupName: "group1",repeat: true});keyboard.addCmd("action1",{ctrl: true},["G"],action1,{groupName: "group1"});// set another key for action1keyboard.setInputs("group1","action1",{ctrl: false,alt: false,shift: false},["Z","T"]);// Enable group1 commandskeyboard.watch("group1");functionaction0(isKeyDown){if(isKeyDown){// do something;}}functionaction1(isKeyDown){if(isKeyDown){// do something;}}

IIFE

varkeyboard=newKrait.Keyboard();keyboard.addCmd("action0",null,[32],action0,{preventDefault: true,groupName: "group1"});keyboard.addCmd("action1",{ctrl: true},["G"],action1,{groupName: "group1"});// set another key for action1keyboard.setInputs("group1","action1",{ctrl: false,alt: false,shift: false},["Z","T"]);// Enable group1 commandskeyboard.watch("group1");functionaction0(isKeyDown){if(isKeyDown){// do something;}}functionaction1(isKeyDown){if(isKeyDown){// do something;}}

API Reference

interfaceCtrlKeys{ctrl?: boolean;alt?: boolean;shift?: boolean;}interfaceOptions{preventDefault?: boolean;// default to falsegroupName?: string;// default to "default"scope?: this;repeat?: boolean;// default to false}addCmd(name: string,ctrlKeys: CtrlKeys|null,keys: Array<string|number>,callback: Function,options: Options|null): Command{}setInputs(groupName: string,commandName: string,ctrlKeys: CtrlKeys,keys: Array<string|number>): boolean{}listen(groupName: string): boolean{}//start watching a group of commandsignore(groupName: string): boolean{}//stop watching a group of commandsdefault(groupName: string,commandName: string): boolean{}//set command to default settingsgetCmd(groupName: string,commandName: string): Command|null{}

Contributors

CtrlTab.js is still in development and we would be glad to get all the help you can provide. To contribute please read contributor.md for detailed installation guide.

Stack

PurposeChoiceMotivation
repositoryGithubhosting for software development version control using Git
package managernpmdefault node.js package manager
languageTypeScriptstatic type checking along with the latest ECMAScript features
module bundlerRollup.jsadvanced module bundler for ES6 modules
unit testingJestdelightful testing with a focus on simplicity

About

Key binding library with multiple keystroke detection to add shortcuts to your app

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages