camelot-unchained
Version:
Camelot Unchained Client Library
37 lines (30 loc) • 1.24 kB
text/typescript
/**
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
import keyboardModifier from './keyboardModifier';
import dxKeyCodes from './dxKeyCodes';
class KeyBind {
public primaryKeyCode: number;
public primaryModifiers: keyboardModifier;
public secondaryKeyCode: number;
public secondaryModifiers: keyboardModifier;
public default: number;
public defaultModifiers: keyboardModifier;
public primaryToString = (): string => {
let s = '';
if (this.primaryModifiers & keyboardModifier.CTRL) s += 'CTRL + ';
if (this.primaryModifiers & keyboardModifier.ALT) s += 'ALT + ';
if (this.primaryModifiers & keyboardModifier.SHIFT) s += 'SHIFT + ';
return s + dxKeyCodes[this.primaryKeyCode];
}
public secondaryToString = (): string => {
let s = '';
if (this.secondaryModifiers & keyboardModifier.CTRL) s += 'CTRL + ';
if (this.secondaryModifiers & keyboardModifier.ALT) s += 'ALT + ';
if (this.secondaryModifiers & keyboardModifier.SHIFT) s += 'SHIFT + ';
return s + dxKeyCodes[this.secondaryKeyCode];
}
}
export default KeyBind;