Last active
June 2, 2025 14:31
-
-
Save shdbwa/668ad471abf5b7cf5e1bad8ac22a3865 to your computer and use it in GitHub Desktop.
keyd.conf azerty laptop keyboard
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
| # Keyd : A key remapping daemon for linux. | |
| # https://github.com/rvaiya/keyd | |
| # AZERTY LAPTOP KEYBOARD CONFIG | |
| # https://gist.github.com/shdbwa/668ad471abf5b7cf5e1bad8ac22a3865#file-keyd-conf | |
| # [ direct swap ] | |
| # Replace symbols line by numbers line | |
| # Replace ; (, in qwerty) with . (< in qwerty) and replace . with ; when shift is pressed | |
| # Replace / (.) with : (>) and Shift + / produce : | |
| # Replace insert with paste and Shift + insert produce insert | |
| # Replace Print with compose aka context menu | |
| # Shift + capslock = capslock | |
| # [ oneshot modifiers: no need to hold, timeout 1200ms ] | |
| # Ctrl, alt, shift | |
| # [ capslock_Layer: hold capslock and press key ] | |
| # Autoclose " ' ( ] }, with cursor placed inside pair | |
| ######################################################### | |
| [ids] | |
| * | |
| #Replace symbols line by numbers line | |
| [main] | |
| 1 = ! | |
| 2 = @ | |
| 3 = # | |
| 4 = $ | |
| 5 = % | |
| 6 = ^ | |
| 7 = & | |
| 8 = * | |
| 9 = ( | |
| 0 = ) | |
| #Replace ; (, in qwerty) with . (< in qwerty) | |
| , = < | |
| #Replace / (.) with : () | |
| . = S-> | |
| # Ctrl, alt, shift : no need to hold, for 1200ms | |
| control = oneshot(control) | |
| shift = oneshot(shift) | |
| leftalt = oneshot(alt) | |
| rightalt = oneshot(altgr) | |
| #Replace insert with paste | |
| insert = S-insert | |
| #Replace Print key (sysrq) with context menu | |
| sysrq = compose | |
| #Just press capslock produce Escape, and hold capslock to enter this layer : | |
| capslock = overload(capslock_Layer, esc) | |
| [capslock_Layer] | |
| # Hold capslock and press 3 (where " button is) to produce a closed "", with the cursor in between | |
| 3 = macro(3 3 left ) | |
| # Hold capslock and press 4 (where ' button is) to produce a closed '', with the cursor in between | |
| 4 = macro(4 4 left ) | |
| # Hold capslock and press = (where } button is) to produce a closed {}, with the cursor in between | |
| equal = macro(G-4 G-= left ) | |
| # Hold capslock and press 5 (where ( button is) to produce a closed (), with the cursor in between | |
| 5 = macro(kpleftparen kprightparen left) | |
| # Hold capslock and press ) (where ] button is) to produce a closed []. with the cursor in between | |
| minus = macro(G-5 G-minus left) | |
| # Media | |
| enter = playpause | |
| # F1 = playpause # not detected | |
| left = previoussong | |
| # F2 = previoussong # not detected | |
| right = nextsong | |
| # F3 = nextsong # not detected | |
| down = fastforward | |
| up = rewind | |
| [shift] | |
| sysrq = menu | |
| #Replace . with ; when shift is pressed | |
| , = , | |
| #Replace / with : when shift is pressed | |
| . = . | |
| # Replace numbers line with symbols | |
| 0 = 0 | |
| 1 = 1 | |
| 2 = 2 | |
| 3 = 3 | |
| 4 = 4 | |
| 5 = 5 | |
| 6 = 6 | |
| 7 = 7 | |
| 8 = 8 | |
| 9 = 9 | |
| #Shift + capslock = capslock | |
| capslock = capslock | |
| #Shift + insert = insert | |
| insert = insert | |
| [alt] | |
| pagedown = end | |
| pageup = home | |
| [global] | |
| #Define a timeout after which oneshot modifiers keys expires | |
| oneshot_timeout = 1200 | |
| ######################################### | |
| #MacOs shortcuts | |
| # [meta:M] | |
| # c=C-insert | |
| # v=S-insert | |
| # | |
| #Overloadt(<layer>, <action>, <timeout>) | |
| ######################################### | |
| ############################# | |
| # TODO | |
| ############################# | |
| # ✓ # Autoclose () '' [] "" {} and then input left key to place cursor in between | |
| # x # Map media keys to altgr (G modifier), to allow being used one hand only | |
| # # |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment