Skip to content

Instantly share code, notes, and snippets.

@arai-ta
Last active November 4, 2022 09:11
Show Gist options
  • Save arai-ta/3fb68ee5b3ab4dec9928c7008531afc8 to your computer and use it in GitHub Desktop.
Save arai-ta/3fb68ee5b3ab4dec9928c7008531afc8 to your computer and use it in GitHub Desktop.
GRIN Type-R keymap
puts "=== GRIN Type-R ==="
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_GRAVE KC_BSPC
KC_TAB KC_Q KC_W KC_E KC_R KC_T KC_Y KC_U KC_I KC_O KC_P KC_LBRC KC_RBRC KC_BSLS OPEN_IN_NEW_WINDOW
KC_LCTL KC_A KC_S KC_D KC_F KC_G KC_H KC_J KC_K KC_L KC_SCOLON KC_QUOT XXXXXXX KC_ENT KC_BSPC
KC_LSFT XXXXXXX KC_Z KC_X KC_C KC_V KC_B KC_N KC_M KC_COMM KC_DOT KC_SLSH KC_RSFT XXXXXXX KC_ENT
BS_FUNC KC_LALT KC_LGUI XXXXXXX KC_LANG2 KC_SPC XXXXXXX ENT_CSR LNG_CSR KC_RGUI FUNC KC_LEFT KC_DOWN KC_UP KC_RIGHT
]
kbd.add_layer :func, %i[
LOCK_SCR 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 KC_F1 KC_F2 KC_F3 KC_F4 XXXXXXX XXXXXXX XXXXXXX KC_PSCREEN KC_SCROLLLOCK KC_PAUSE XXXXXXX XXXXXXX XXXXXXX KC_PSCREEN
KC_LCTL KC_F5 KC_F6 KC_F7 KC_F8 XXXXXXX XXXXXXX KC_INS KC_HOME KC_PGUP KC_BSPC XXXXXXX XXXXXXX XXXXXXX KC_PAUSE
KC_LSFT XXXXXXX KC_F9 KC_F10 KC_F11 KC_F12 XXXXXXX XXXXXXX KC_DEL KC_END KC_PGDN XXXXXXX KC_RSFT XXXXXXX KC_INS
BS_FUNC KC_LALT KC_LGUI XXXXXXX _______ EMOJI XXXXXXX XXXXXXX _______ _______ FUNC KC_HOME KC_PGDN KC_PGUP KC_END
]
kbd.add_layer :cursor, %i[
XXXXXXX MOVE_TOP XXXXXXX XXXXXXX MOVE_TAIL XXXXXXX XXXXXXX XXXXXXX XXXXXXX XXXXXXX MOVE_HEAD XXXXXXX XXXXXXX XXXXXXX XXXXXXX
KC_TAB XXXXXXX WORD_FWD WORD_BACK XXXXXXX XXXXXXX XXXXXXX KC_PGUP PAGE_NEXT PAGE_PREV XXXXXXX XXXXXXX XXXXXXX XXXXXXX XXXXXXX
KC_LCTL XXXXXXX XXXXXXX KC_PGDN XXXXXXX MOVE_BTM KC_LEFT KC_DOWN KC_UP KC_RIGHT XXXXXXX XXXXXXX XXXXXXX XXXXXXX XXXXXXX
KC_LSFT XXXXXXX XXXXXXX XXXXXXX XXXXXXX XXXXXXX WCTL_APP XXXXXXX XXXXXXX XXXXXXX XXXXXXX XXXXXXX KC_RSFT XXXXXXX XXXXXXX
BS_FUNC KC_LALT KC_LGUI XXXXXXX _______ KC_SPC _______ ENT_CSR _______ _______ _______ KC_HOME KC_PGDN KC_PGUP KC_END
]
# vi like cursor move
kbd.define_composite_key :PAGE_NEXT, %i(KC_LGUI KC_RBRACKET) # next page
kbd.define_composite_key :PAGE_PREV, %i(KC_LGUI KC_LBRACKET) # previous page
kbd.define_composite_key :WORD_FWD , %i(KC_LALT KC_RIGHT) # move forward by 1 word
kbd.define_composite_key :WORD_BACK, %i(KC_LALT KC_LEFT) # move back by 1 word
kbd.define_composite_key :MOVE_HEAD, %i(KC_LGUI KC_LEFT ) # move to head of line
kbd.define_composite_key :MOVE_TAIL, %i(KC_LGUI KC_RIGHT) # move to tail of line
kbd.define_composite_key :MOVE_TOP , %i(KC_LGUI KC_UP ) # move to top of area
kbd.define_composite_key :MOVE_BTM , %i(KC_LGUI KC_DOWN ) # move to bottom of area
# Mac
kbd.define_composite_key :WCTL_ALL, %i(KC_LCTL KC_UP) # Mission Control ALL
kbd.define_composite_key :WCTL_APP, %i(KC_LCTL KC_DOWN) # Mission Control APP
kbd.define_composite_key :EMOJI , %i(KC_LCTL KC_LGUI KC_SPACE) # Open emoji select window
kbd.define_composite_key :LOCK_SCR, %i(KC_LCTL KC_LGUI KC_Q) # Lock screen
# with Application
kbd.define_composite_key :OPEN_IN_NEW_WINDOW, %i(KC_LGUI KC_LSHT KC_LCTL KC_N)
kbd.define_composite_key :MEET_TOGGLE_MIC , %i(KC_LGUI KC_D )
kbd.define_composite_key :MEET_TOGGLE_CAM , %i(KC_LGUI KC_E )
# PRK Firmware Test
kbd.define_mode_key :PROC_TEST,[ Proc.new { kbd.macro "aiueo" } , nil, 200, nil ]
kbd.before_report do
kbd.invert_sft if kbd.keys_include?(:KC_SCOLON)
end
kbd.define_mode_key :FUNC, [ nil, :func, nil, nil ]
kbd.define_mode_key :SPC_CSR, [ :KC_SPC, :cursor, 300, 100 ]
kbd.define_mode_key :LNG_CSR, [ :KC_LANG1, :cursor, 300, nil ]
kbd.define_mode_key :ENT_CSR, [ :KC_ENT, :cursor, 200, nil ]
kbd.define_mode_key :BS_FUNC, [ :KC_BSPC , :func, 200, 100 ]
kbd.start!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment