Skip to content

Instantly share code, notes, and snippets.

@bonty
Created January 4, 2022 08:43
Show Gist options
  • Save bonty/9d384ea27812b83daa6526d8550f63b4 to your computer and use it in GitHub Desktop.
Save bonty/9d384ea27812b83daa6526d8550f63b4 to your computer and use it in GitHub Desktop.
keymap.rb
kbd = Keyboard.new
kbd.init_pins(
[ 20, 19, 18, 17, 16 ],
[ 8, 7, 6, 2, 3, 4, 5, 10, 15, 14, 13, 12, 11, 9, 21 ]
)
kbd.add_layer :default, %i[
KC_ESC KC_1 KC_2 KC_3 KC_4 KC_5 KC_6 KC_7 KC_8 KC_9 KC_0 KC_MINS KC_EQL KC_BSPC XXXXXXX
KC_TAB KC_Q KC_W KC_F KC_P KC_B KC_J KC_L KC_U KC_Y KC_SCOLON KC_LBRC KC_RBRC KC_BSLS KC_PGUP
ESC_NAV KC_A KC_R KC_S KC_T KC_G KC_M KC_N KC_E KC_I KC_O KC_QUOT XXXXXXX KC_ENT KC_PGDN
KC_LSFT XXXXXXX KC_Z KC_X KC_C KC_D KC_V KC_K KC_H KC_COMM KC_DOT KC_SLSH KC_RSFT XXXXXXX KC_DEL
KC_LCTL KC_LGUI KC_LALT XXXXXXX LNG2_FUNC SPC_SFT SPC_SFT SPC_SFT LNG1_FUNC KC_RALT KC_RCTL KC_LEFT KC_DOWN KC_UP KC_RGHT
]
kbd.add_layer :navigation, %i[
KC_GRAVE KC_F1 KC_F2 KC_F3 KC_F4 KC_F5 KC_F6 KC_F7 KC_F8 KC_F9 KC_F10 KC_F11 KC_F12 XXXXXXX XXXXXXX
XXXXXXX XXXXXXX XXXXXXX BS_WORD DE_WORD BS_LINE FW_LINE BK_WORD KC_UP FW_WORD KC_PGUP XXXXXXX XXXXXXX XXXXXXX KC_PSCREEN
XXXXXXX XXXXXXX XXXXXXX KC_BSPC KC_DEL DE_LINE BK_LINE KC_LEFT KC_DOWN KC_RGHT KC_PGDN XXXXXXX XXXXXXX XXXXXXX KC_PAUSE
_______ XXXXXXX UNDO CUT COPY PASTE REDO HISTBK PREVTAB NEXTTAB HISTFW XXXXXXX XXXXXXX XXXXXXX KC_INS
_______ _______ _______ XXXXXXX _______ WINNAV WINNAV WINNAV _______ _______ _______ KC_HOME KC_PGDN KC_PGUP KC_END
]
kbd.add_layer :window_navigation, %i[
KC_GRAVE KC_F1 KC_F2 KC_F3 KC_F4 KC_F5 KC_F6 KC_F7 KC_F8 KC_F9 KC_F10 KC_F11 KC_F12 XXXXXXX XXXXXXX
XXXXXXX Y_RESET XXXXXXX ROT_PRV ROT_NXT XXXXXXX XXXXXXX WARP_PR WARP_NT STCK_PR SEND_PR XXXXXXX XXXXXXX XXXXXXX KC_PSCREEN
XXXXXXX XXXXXXX XXXXXXX MIRROR BALANCE XXXXXXX KC_F19 KC_F13 KC_F14 STCK_NT SEND_NT XXXXXXX XXXXXXX XXXXXXX KC_PAUSE
_______ XXXXXXX XXXXXXX XXXXXXX RESIZEL RESIZER XXXXXXX XXXXXXX KC_F17 KC_F18 XXXXXXX XXXXXXX XXXXXXX XXXXXXX KC_INS
_______ _______ _______ XXXXXXX _______ XXXXXXX XXXXXXX XXXXXXX _______ _______ _______ KC_HOME KC_PGDN KC_PGUP KC_END
]
kbd.define_mode_key :ESC_NAV, [ :KC_ESC, :navigation, 185, 185]
kbd.define_mode_key :SPC_SFT, [ :KC_SPC, :KC_LSFT, 185, 185]
kbd.define_mode_key :LNG1_FUNC, [ :KC_LANG1, :KC_LCTL, 185, 185 ]
kbd.define_mode_key :LNG2_FUNC, [ :KC_LANG2, :KC_LGUI, 185, 185 ]
kbd.define_mode_key :WINNAV, [ nil, :window_navigation, nil, nil ]
# OS shortcuts
kbd.define_mode_key :REDO, [ %i(KC_Z KC_LGUI KC_LSFT), nil, 300, nil]
kbd.define_mode_key :UNDO, [ %i(KC_Z KC_LGUI), nil, 300, nil]
kbd.define_mode_key :CUT, [ %i(KC_X KC_LGUI), nil, 300, nil]
kbd.define_mode_key :COPY, [ %i(KC_C KC_LGUI), nil, 300, nil]
kbd.define_mode_key :PASTE, [ %i(KC_V KC_LGUI), nil, 300, nil]
kbd.define_mode_key :NEXTTAB, [ %i(KC_TAB KC_LCTL), nil, 300, nil]
kbd.define_mode_key :PREVTAB, [ %i(KC_TAB KC_LCTL KC_LSFT), nil, 300, nil]
kbd.define_mode_key :HISTBK, [ %i(KC_LBRC KC_LGUI), nil, 300, nil]
kbd.define_mode_key :HISTFW, [ %i(KC_RBRC KC_LGUI), nil, 300, nil]
# Edit shortcuts
kbd.define_mode_key :BS_WORD, [ %i(KC_BSPC KC_LALT), nil, 300, nil]
kbd.define_mode_key :DE_WORD, [ %i(KC_DEL KC_LALT), nil, 300, nil]
kbd.define_mode_key :BS_LINE, [ %i(KC_BSPC KC_LGUI), nil, 300, nil]
kbd.define_mode_key :DE_LINE, [ %i(KC_K KC_LCTL), nil, 300, nil]
kbd.define_mode_key :FW_WORD, [ %i(KC_RGHT KC_LALT), nil, 300, nil]
kbd.define_mode_key :BK_WORD, [ %i(KC_LEFT KC_LALT), nil, 300, nil]
kbd.define_mode_key :FW_LINE, [ %i(KC_RGHT KC_LGUI), nil, 300, nil]
kbd.define_mode_key :BK_LINE, [ %i(KC_LEFT KC_LGUI), nil, 300, nil]
# Yabai shortcuts
kbd.define_mode_key :WARP_PR, [ %i(KC_F13 KC_LSFT), nil, 300, nil]
kbd.define_mode_key :WARP_NT, [ %i(KC_F14 KC_LSFT), nil, 300, nil]
kbd.define_mode_key :STCK_PR, [ %i(KC_F15 KC_LSFT), nil, 300, nil]
kbd.define_mode_key :STCK_NT, [ %i(KC_F16 KC_LSFT), nil, 300, nil]
kbd.define_mode_key :SEND_PR, [ %i(KC_F17 KC_LSFT), nil, 300, nil]
kbd.define_mode_key :SEND_NT, [ %i(KC_F18 KC_LSFT), nil, 300, nil]
kbd.define_mode_key :ROT_PRV, [ %i(KC_F13 KC_LALT KC_LSFT), nil, 300, nil]
kbd.define_mode_key :ROT_NXT, [ %i(KC_F14 KC_LALT KC_LSFT), nil, 300, nil]
kbd.define_mode_key :MIRROR, [ %i(KC_F15 KC_LALT KC_LSFT), nil, 300, nil]
kbd.define_mode_key :BALANCE, [ %i(KC_F16 KC_LALT KC_LSFT), nil, 300, nil]
kbd.define_mode_key :RESIZEL, [ %i(KC_F17 KC_LALT KC_LSFT), nil, 300, nil]
kbd.define_mode_key :RESIZER, [ %i(KC_F18 KC_LALT KC_LSFT), nil, 300, nil]
kbd.define_mode_key :Y_RESET, [ %i(KC_F19 KC_LCTL KC_LALT KC_LGUI), nil, 300, nil]
kbd.start!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment