Last active
October 4, 2019 19:07
-
-
Save joshskidmore/5a567d7dcf8fc91e7ae469def8d3f7bf to your computer and use it in GitHub Desktop.
GPD P2Max KMonad Keyboard Config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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