Skip to content

Instantly share code, notes, and snippets.

@shdbwa
Last active June 2, 2025 14:31
Show Gist options
  • Select an option

  • Save shdbwa/668ad471abf5b7cf5e1bad8ac22a3865 to your computer and use it in GitHub Desktop.

Select an option

Save shdbwa/668ad471abf5b7cf5e1bad8ac22a3865 to your computer and use it in GitHub Desktop.
keyd.conf azerty laptop keyboard
# 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