export enum KC { ESC = 'KC_ESC', F1 = 'KC_F1', F2 = 'KC_F2', F3 = 'KC_F3', F4 = 'KC_F4', F5 = 'KC_F5', F6 = 'KC_F6', F7 = 'KC_F7', F8 = 'KC_F8', F9 = 'KC_F9', F10 = 'KC_F10', F11 = 'KC_F11', F12 = 'KC_F12', PSCR = 'KC_PSCR', SLCK = 'KC_SLCK', PAUS = 'KC_PAUS', GRV = 'KC_GRV', N1 = 'KC_1', N2 = 'KC_2', N3 = 'KC_3', N4 = 'KC_4', N5 = 'KC_5', N6 = 'KC_6', N7 = 'KC_7', N8 = 'KC_8', N9 = 'KC_9', N0 = 'KC_0', MINS = 'KC_MINS', EQL = 'KC_EQL', BSPC = 'KC_BSPC', BSPACE = 'KC_BSPC', INS = 'KC_INS', HOME = 'KC_HOME', PGUP = 'KC_PGUP', TAB = 'KC_TAB', Q = 'KC_Q', W = 'KC_W', E = 'KC_E', R = 'KC_R', T = 'KC_T', Y = 'KC_Y', U = 'KC_U', I = 'KC_I', O = 'KC_O', P = 'KC_P', LBRC = 'KC_LBRC', RBRC = 'KC_RBRC', BSLS = 'KC_BSLS', NONUS_BSLASH = 'NONUS_BSLASH', NUBS = 'NONUS_BSLASH', DEL = 'KC_DEL', DELETE = 'KC_DEL', END = 'KC_END', PGDN = 'KC_PGDN', A = 'KC_A', S = 'KC_S', D = 'KC_D', F = 'KC_F', G = 'KC_G', H = 'KC_H', J = 'KC_J', K = 'KC_K', L = 'KC_L', SCLN = 'KC_SCLN', SCOLON = 'KC_SCLN', QUOT = 'KC_QUOT', QUOTE = 'KC_QUOT', ENT = 'KC_ENT', LSFT = 'KC_LSFT', Z = 'KC_Z', X = 'KC_X', C = 'KC_C', V = 'KC_V', B = 'KC_B', N = 'KC_N', M = 'KC_M', COMM = 'KC_COMM', DOT = 'KC_DOT', SLSH = 'KC_SLSH', RSFT = 'KC_RSFT', UP = 'KC_UP', LCTL = 'KC_LCTL', LC = 'KC_LCTL', LALT = 'KC_LALT', LGUI = 'KC_LGUI', SPC = 'KC_SPC', RGUI = 'KC_RGUI', APP = 'KC_APP', RCTL = 'KC_RCTL', RC = 'KC_RCTL', LEFT = 'KC_LEFT', DOWN = 'KC_DOWN', RGHT = 'KC_RGHT', TRNS = 'KC_TRNS', _ = 'KC_TRNS', BRIGHTNESS_DOWN = 'KC_BRIGHTNESS_DOWN', BDWN = 'KC_BRIGHTNESS_DOWN', BRIGHTNESS_UP = 'KC_BRIGHTNESS_UP', BUP = 'KC_BRIGHTNESS_UP', MEDIA_PREV_TRACK = 'KC_MEDIA_PREV_TRACK', MPT = 'KC_MEDIA_PREV_TRACK', MEDIA_NEXT_TRACK = 'KC_MEDIA_NEXT_TRACK', MNT = 'KC_MEDIA_NEXT_TRACK', MEDIA_PLAY_PAUSE = 'KC_MEDIA_PLAY_PAUSE', MPP = 'KC_MEDIA_PLAY_PAUSE', MUTE = 'KC_MUTE', VOLD = 'KC_VOLD', VOLU = 'KC_VOLU', } export const K = KC; const enum KeyComboType {} export type KeyCombo = string & KeyComboType; const enum LayerKeyEnum {} export type LayerKey = string & LayerKeyEnum; export type IKey = KC | KeyCombo | LayerKey; export type IKeys = IKey[]; export const LT = (layer: number, key: IKey): LayerKey => `LT(${layer}, ${key})` as LayerKey; export const MO = (layer: number): LayerKey => `MO(${layer})` as LayerKey; export const DF = (layer: number): LayerKey => `DF(${layer})` as LayerKey; export const LCTL = (key: IKey): KeyCombo => `LCTL(${key})` as KeyCombo; export const RCTL = (key: IKey): KeyCombo => `RCTL(${key})` as KeyCombo; export const RC = RCTL; export const LSFT = (key: IKey): KeyCombo => `LSFT(${key})` as KeyCombo; export const LS = LSFT; export const RSFT = (key: IKey): KeyCombo => `RSFT(${key})` as KeyCombo; export const LALT = (key: IKey): KeyCombo => `LALT(${key})` as KeyCombo; export const RALT = (key: IKey): KeyCombo => `RALT(${key})` as KeyCombo; export const LGUI = (key: IKey): KeyCombo => `LGUI(${key})` as KeyCombo; export const RGUI = (key: IKey): KeyCombo => `RGUI(${key})` as KeyCombo;