Skip to content

Instantly share code, notes, and snippets.

@joshskidmore
Last active October 4, 2019 19:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joshskidmore/5a567d7dcf8fc91e7ae469def8d3f7bf to your computer and use it in GitHub Desktop.
Save joshskidmore/5a567d7dcf8fc91e7ae469def8d3f7bf to your computer and use it in GitHub Desktop.
GPD P2Max KMonad Keyboard Config
INPUT = LINUX_DEVICE L64 /dev/input/by-id/usb-HAILUCK_CO._LTD_USB_KEYBOARD-event-kbd
OUTPUT = UINPUT_SINK
// "TH" = "tap hold"
// this definition states that tapping the ESC key for < 150ms
// acts as an escape and holding for anything > 150ms generates the ` character
// (which is a common place for the tick character on a US keyboard layout)
@esc = TH 150 esc `
// "MT" = "multi tap"
// this definition is weird, but essentially allows for double tapping the 0 key to toggle
// CAPS lock. hey - you *might* need it?
@0 = MT 0 300 caps
// this definition makes it so that when the \ key is tapped once, it acts as the \ key; if
// tapped twice, generate a - (hyphen), tapped three times, generate an _ (underscore)
// and tapped four times, it generates a plus character
@\ = MT \ 300 - 175 = 175 __ 175 +
// "TN" = "tap next"
// this definition switches CAPS to act as an ESC when tapped and a CTRL when held
@xcp = TN esc lctl
// definition (also weird and still being tested) generates a return/enter when tapped,
// a colon when double tapped and a semi-colon when triple tapped
@ret = MT ret 300 : 175 ;
// these should be self explanatory
@, = TH 300 , [
@. = TH 300 . ]
// this key, when held, toggles on the "gpdish" layer which is mainly the
// keys that would require the fn to operate normally. IMO, the spacebar is
// easier to hold than fn
@spc = TH 250 spc LT-gpdish
// 0 1 2 3 4 5 6 7 8 9 10 11
SRC
esc 1 2 3 4 5 6 7 8 9 0 bspc
tab q w e r t y u i o p \
caps a s d f g h j k l ret
lsft z x c v b n m , . / '
lctl lmet spc ralt up left down rght pgup pgdn keyhome keyend
` - = [ ] del prnt
// 0 1 2 3 4 5 6 7 8 9 10 11
LAYER josh
@esc 1 2 3 4 5 6 7 8 9 @0 bspc
tab q w e r t y u i o p @\
@xcp a s d f g h j k l @ret
lsft z x c v b n m @, @. / '
lctl lmet @spc ralt up left down rght pgup pgdn keyhome keyend
` - = [ ] del prnt
// 0 1 2 3 4 5 6 7 8 9 10 11
LAYER gpdish ~ anchor esc
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
_ _ keymute vold volu ` ~ __ - + = _
_ _ _ _ _ _ _ _ _ _ _
_ brdn brup _ { } [ ] _ _ _ _
_ _ _ _ pgup keyhome pgdn keyend _ _ _ _
_ _ _ _ _ _ _
// vim: ft=haskell
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment