⌨️ Keyboard
I’m using Keychron K4 (Bluetooth) as my primary keyboard. To use a keyboard with a customized experience, I use KMonad to modify the key and sxhkd to create global shortcuts.
To use KMonad with my Keychron Bluetooth keyboard, I wrote a udev rule called
/etc/udev/rules.d/keychron.rule
to export the keyboard as a /dev/input device. ATTRS{name}=="Keychron K4", SYMLINK+="keychron-k4"
This rule will create a file called
/dev/keychron-k4
. Then I can use it in the KMonad as the device-file.bspwm
Focus
Move focus between windows, or swap windows:
super + {_,shift + }{h,j,k,l}: bspc node -{f,s} {west,south,north,east}
![notion image](/notion-img?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fs3-us-west-2.amazonaws.com%252Fsecure.notion-static.com%252Fec0b8947-fd70-4078-aaa5-792465c51394%252FHJKL.webp%3Ftable%3Dblock%26id%3D627e8dd4-b251-4f9e-92ad-3d2b99be0489%26cache%3Dv2)
Move focus between monitors:
super + {p,n}: bspc monitor -f {prev,next}
![notion image](/notion-img?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fs3-us-west-2.amazonaws.com%252Fsecure.notion-static.com%252F10b96e40-c808-42a8-b7db-c9af11731cc6%252FPN.webp%3Ftable%3Dblock%26id%3D1425ff48-7518-46aa-b0a2-79f8b91ec9ea%26cache%3Dv2)
Window State
Toggle tiled and pseudo-tiled:
super + shift + space if [ -z "$(bspc query -N -n focused.pseudo_tiled)" ]; then \ bspc node -t pseudo_tiled; \ else \ bspc node -t tiled; \ fi
![notion image](/notion-img?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fs3-us-west-2.amazonaws.com%252Fsecure.notion-static.com%252Fc5930580-9702-461a-b954-fe5dcecf8622%252Fmeh-space.webp%3Ftable%3Dblock%26id%3D20adccf2-1a08-48e9-b9ae-43d6ee8dde1a%26cache%3Dv2)