summaryrefslogtreecommitdiff
path: root/hosts/local/keyboards
diff options
context:
space:
mode:
authorpolwex <polwex@sortug.com>2025-10-25 21:07:06 +0700
committerpolwex <polwex@sortug.com>2025-10-25 21:07:06 +0700
commitdcf6ad1c5755e5acc40b3aa88315f7c335c7eb55 (patch)
treeb991cb97dfb6992d020b6d6a8f4442f329b18c56 /hosts/local/keyboards
parent021a797c8116032a114ba78476d1769c55479b48 (diff)
p16p16
Diffstat (limited to 'hosts/local/keyboards')
-rw-r--r--hosts/local/keyboards/thinkpad-numpad.kbd102
1 files changed, 102 insertions, 0 deletions
diff --git a/hosts/local/keyboards/thinkpad-numpad.kbd b/hosts/local/keyboards/thinkpad-numpad.kbd
new file mode 100644
index 0000000..ed4bf8b
--- /dev/null
+++ b/hosts/local/keyboards/thinkpad-numpad.kbd
@@ -0,0 +1,102 @@
+;; one liner comments ';;'
+#| Multiline
+ comments |#
+
+(defcfg ;; For linux & by-id lists pluggable devices
+;; If a key is not bound/left_empty(_) then it will fall back to the previous
+;; layer's binding if not then default.
+fallthrough true
+;; To run system commands. You MIGHT face issues with tiling window managers due to command helpers.
+;; allow-cmd true
+;; use 'ls /dev/input/by-id/' for detachable keyboards and
+;; 'ls /dev/input/by-path/' for builtin keyboards location'
+input (device-file "/dev/input/by-id/usb-Lenovo_ThinkPad_Compact_USB_Keyboard_with_TrackPoint-event-kbd")
+;; Not sure what this does. Please check the docs.
+output (uinput-sink "My KMonad output")
+)
+
+;; This is the real representation of your actual keyboard. We haven't started
+;; customizing layouts yet.
+(defsrc
+ esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del f13 f14 f15 f16
+ ` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp-
+ tab q w e r t y u i o p [ ] \ kp7 kp8 kp9 kp+
+ caps a s d f g h j k l ; ' ret kp4 kp5 kp6
+ lsft z x c v b n m , . / rsft kp1 kp2 kp3 kprt
+ lctl lmet lalt spc ralt ssrq rctl pgup up pgdn kp0 kp.
+ left down rght
+);; Aliases
+
+(defalias
+;; Layer toggles
+sym (layer-toggle syms)
+sym2 (layer-toggle syms2)
+cords (sticky-key 1000 (layer-toggle mods))
+;;
+hrt (layer-switch homerowmods)
+back (layer-switch qwerty)
+
+;; Homerow keys
+a (tap-hold-next-release 280 a lctl)
+s (tap-hold-next-release 280 s lalt)
+d (tap-hold-next-release 280 d lmet)
+f (tap-hold-next-release 280 f lsft)
+;;
+j (tap-hold-next-release 280 j rsft)
+k (tap-hold-next-release 280 k lmet)
+l (tap-hold-next-release 280 l lalt)
+semi (tap-hold-next-release 280 ; rctl)
+
+;; button to launch brave browser
+;; veeb (cmd-button "brave")
+;; ssf (sticky-key 500 (layer-toggle rshift))
+;; rsf (layer-toggle rshift)
+)
+
+;; The first custom layer is the one that gets activated when kmonad is started
+(deflayer qwerty
+ esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del = \( \) bspc
+ ` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp-
+ tab q w e r t y u i o p [ ] \ kp7 kp8 kp9 kp+
+ esc a s d f g h j k l ; ' ret kp4 kp5 kp6
+ @sym z x c v b n m , . / rsft kp1 kp2 kp3 kprt
+ lctl lmet lalt spc @cords ssrq @hrt pgup up pgdn kp0 kp.
+ left down rght
+)
+(deflayer homerowmods
+ esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del = \( \) bspc
+ ` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp-
+ tab q w e r t y u i o p [ ] \ kp7 kp8 kp9 kp+
+ esc @a @s @d @f g h @j @k @l @semi ' ret kp4 kp5 kp6
+ @sym z x c v b n m , . / rsft kp1 kp2 kp3 kprt
+ caps lmet @sym spc lalt ssrq @back pgup up pgdn kp0 kp.
+ left down rght
+)
+(deflayer mods
+ esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del = \( \) bspc
+ ` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp-
+ tab q w e r t y u i o p [ ] \ kp7 kp8 kp9 kp+
+ esc lctl lalt lmet lsft g h rsft rmet ralt rctl ' ret kp4 kp5 kp6
+ @sym z x c v b n m , . / rsft kp1 kp2 kp3 kprt
+ caps lmet @sym spc lalt ssrq @back pgup up pgdn kp0 kp.
+ left down rght
+)
+;; A layer dedicated to symbols
+(deflayer syms
+ esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del = \( \) bspc
+ ` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp-
+ tab q up e r t ! @ # $ % [ ] \ kp7 kp8 kp9 kp+
+ esc left down right @sym2 g ' ^ & - = ' ret kp4 kp5 kp6
+ @sym z x c v b \( [ { < \ rsft kp1 kp2 kp3 kprt
+ caps lmet @sym spc lalt ssrq @back pgup up pgdn kp0 kp.
+ left down rght
+)
+(deflayer syms2
+ esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del = \( \) bspc
+ ` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp-
+ tab q up e r t ! @ # $ % [ ] \ kp7 kp8 kp9 kp+
+ esc left down right @sym2 g ` ~ * \_ + ' ret kp4 kp5 kp6
+ @sym z x c v b \) ] } > | rsft kp1 kp2 kp3 kprt
+ caps lmet @sym spc lalt ssrq @back pgup up pgdn kp0 kp.
+ left down rght
+)