MCPcopy Create free account
hub / github.com/RobertWHurst/KeyboardJS / bind

Method bind

lib/keyboard.js:63–92  ·  view source on GitHub ↗
(keyComboStr, pressHandler, releaseHandler, preventRepeatByDefault)

Source from the content-addressed store, hash-verified

61 }
62
63 bind(keyComboStr, pressHandler, releaseHandler, preventRepeatByDefault) {
64 if (keyComboStr === null || typeof keyComboStr === 'function') {
65 preventRepeatByDefault = releaseHandler;
66 releaseHandler = pressHandler;
67 pressHandler = keyComboStr;
68 keyComboStr = null;
69 }
70
71 if (
72 keyComboStr &&
73 typeof keyComboStr === 'object' &&
74 typeof keyComboStr.length === 'number'
75 ) {
76 for (let i = 0; i < keyComboStr.length; i += 1) {
77 this.bind(keyComboStr[i], pressHandler, releaseHandler);
78 }
79 return this;
80 }
81
82 this._listeners.push({
83 keyCombo : keyComboStr ? new KeyCombo(keyComboStr) : null,
84 pressHandler : pressHandler || null,
85 releaseHandler : releaseHandler || null,
86 preventRepeat : false,
87 preventRepeatByDefault: preventRepeatByDefault || false,
88 executingHandler : false
89 });
90
91 return this;
92 }
93
94 addListener(keyComboStr, pressHandler, releaseHandler, preventRepeatByDefault) {
95 return this.bind(keyComboStr, pressHandler, releaseHandler, preventRepeatByDefault);

Callers 5

addListenerMethod · 0.95
onMethod · 0.95
bindPressMethod · 0.95
bindReleaseMethod · 0.95
keyboard.spec.jsFile · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected