Skip to content

Instantly share code, notes, and snippets.

@jatcwang
Created February 2, 2017 23:44
Show Gist options
  • Save jatcwang/ae3b7019f219b8cdc6798329108c9aee to your computer and use it in GitHub Desktop.
Save jatcwang/ae3b7019f219b8cdc6798329108c9aee to your computer and use it in GitHub Desktop.
List of all setxkbmap configuration options (including models/layout/etc)
! model
pc101 Generic 101-key PC
pc102 Generic 102-key (Intl) PC
pc104 Generic 104-key PC
pc105 Generic 105-key (Intl) PC
dell101 Dell 101-key PC
latitude Dell Latitude series laptop
dellm65 Dell Precision M65
everex Everex STEPnote
flexpro Keytronic FlexPro
microsoft Microsoft Natural
omnikey101 Northgate OmniKey 101
winbook Winbook Model XP5
pc98 PC-98xx Series
a4techKB21 A4Tech KB-21
a4techKBS8 A4Tech KBS-8
a4_rfkb23 A4Tech Wireless Desktop RFKB-23
airkey Acer AirKey V
azonaRF2300 Azona RF2300 wireless Internet Keyboard
scorpius Advance Scorpius KI
brother Brother Internet Keyboard
btc5113rf BTC 5113RF Multimedia
btc5126t BTC 5126T
btc6301urf BTC 6301URF
btc9000 BTC 9000
btc9000a BTC 9000A
btc9001ah BTC 9001AH
btc5090 BTC 5090
btc9019u BTC 9019U
btc9116u BTC 9116U Mini Wireless Internet and Gaming
cherryblue Cherry Blue Line CyBo@rd
cherryblueb Cherry CyMotion Master XPress
cherrybluea Cherry Blue Line CyBo@rd (alternate option)
cherrycyboard Cherry CyBo@rd USB-Hub
cherrycmexpert Cherry CyMotion Expert
cherrybunlim Cherry B.UNLIMITED
chicony Chicony Internet Keyboard
chicony0108 Chicony KU-0108
chicony0420 Chicony KU-0420
chicony9885 Chicony KB-9885
compaqeak8 Compaq Easy Access Keyboard
compaqik7 Compaq Internet Keyboard (7 keys)
compaqik13 Compaq Internet Keyboard (13 keys)
compaqik18 Compaq Internet Keyboard (18 keys)
cymotionlinux Cherry CyMotion Master Linux
armada Laptop/notebook Compaq (eg. Armada) Laptop Keyboard
presario Laptop/notebook Compaq (eg. Presario) Internet Keyboard
ipaq Compaq iPaq Keyboard
dell Dell
dellsk8125 Dell SK-8125
dellsk8135 Dell SK-8135
dellusbmm Dell USB Multimedia Keyboard
inspiron Dell Laptop/notebook Inspiron 6xxx/8xxx
precision_m Dell Laptop/notebook Precision M series
dexxa Dexxa Wireless Desktop Keyboard
diamond Diamond 9801 / 9802 series
dtk2000 DTK2000
ennyah_dkb1008 Ennyah DKB-1008
fscaa1667g Fujitsu-Siemens Computers AMILO laptop
genius Genius Comfy KB-16M / Genius MM Keyboard KWD-910
geniuscomfy Genius Comfy KB-12e
geniuscomfy2 Genius Comfy KB-21e-Scroll
geniuskb19e Genius KB-19e NB
geniuskkb2050hs Genius KKB-2050HS
gyration Gyration
htcdream HTC Dream
kinesis Kinesis
logitech_base Logitech Generic Keyboard
logitech_g15 Logitech G15 extra keys via G15daemon
hpi6 Hewlett-Packard Internet Keyboard
hp250x Hewlett-Packard SK-250x Multimedia Keyboard
hpxe3gc Hewlett-Packard Omnibook XE3 GC
hpxe3gf Hewlett-Packard Omnibook XE3 GF
hpxt1000 Hewlett-Packard Omnibook XT1000
hpdv5 Hewlett-Packard Pavilion dv5
hpzt11xx Hewlett-Packard Pavilion ZT11xx
hp500fa Hewlett-Packard Omnibook 500 FA
hp5xx Hewlett-Packard Omnibook 5xx
hpnx9020 Hewlett-Packard nx9020
hp6000 Hewlett-Packard Omnibook 6000/6100
honeywell_euroboard Honeywell Euroboard
hpmini110 Hewlett-Packard Mini 110 Notebook
rapidaccess IBM Rapid Access
rapidaccess2 IBM Rapid Access II
thinkpad IBM ThinkPad 560Z/600/600E/A22E
thinkpad60 IBM ThinkPad R60/T60/R61/T61
thinkpadz60 IBM ThinkPad Z60m/Z60t/Z61m/Z61t
ibm_spacesaver IBM Space Saver
logiaccess Logitech Access Keyboard
logiclx300 Logitech Cordless Desktop LX-300
logii350 Logitech Internet 350 Keyboard
logimel Logitech Media Elite Keyboard
logicd Logitech Cordless Desktop
logicd_it Logitech Cordless Desktop iTouch
logicd_nav Logitech Cordless Desktop Navigator
logicd_opt Logitech Cordless Desktop Optical
logicda Logitech Cordless Desktop (alternate option)
logicdpa2 Logitech Cordless Desktop Pro (alternate option 2)
logicfn Logitech Cordless Freedom/Desktop Navigator
logicdn Logitech Cordless Desktop Navigator
logiitc Logitech iTouch Cordless Keyboard (model Y-RB6)
logiik Logitech Internet Keyboard
itouch Logitech iTouch
logicink Logitech Internet Navigator Keyboard
logiex110 Logitech Cordless Desktop EX110
logiinkse Logitech iTouch Internet Navigator Keyboard SE
logiinkseusb Logitech iTouch Internet Navigator Keyboard SE (USB)
logiultrax Logitech Ultra-X Keyboard
logiultraxc Logitech Ultra-X Cordless Media Desktop Keyboard
logidinovo Logitech diNovo Keyboard
logidinovoedge Logitech diNovo Edge Keyboard
mx1998 Memorex MX1998
mx2500 Memorex MX2500 EZ-Access Keyboard
mx2750 Memorex MX2750
microsoft4000 Microsoft Natural Ergonomic Keyboard 4000
microsoft7000 Microsoft Natural Wireless Ergonomic Keyboard 7000
microsoftinet Microsoft Internet Keyboard
microsoftpro Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro
microsoftprousb Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro
microsoftprooem Microsoft Natural Keyboard Pro OEM
vsonku306 ViewSonic KU-306 Internet Keyboard
microsoftprose Microsoft Internet Keyboard Pro, Swedish
microsoftoffice Microsoft Office Keyboard
microsoftmult Microsoft Wireless Multimedia Keyboard 1.0A
microsoftelite Microsoft Natural Keyboard Elite
microsoftccurve2k Microsoft Comfort Curve Keyboard 2000
oretec Ortek MCK-800 MM/Internet keyboard
propeller Propeller Voyager (KTEZ-1000)
qtronix QTronix Scorpius 98N+
samsung4500 Samsung SDM 4500P
samsung4510 Samsung SDM 4510P
sanwaskbkg3 Sanwa Supply SKB-KG3
sk1300 SK-1300
sk2500 SK-2500
sk6200 SK-6200
sk7100 SK-7100
sp_inet Super Power Multimedia Keyboard
sven SVEN Ergonomic 2500
sven303 SVEN Slim 303
symplon Symplon PaceBook (tablet PC)
toshiba_s3000 Toshiba Satellite S3000
trust Trust Wireless Keyboard Classic
trustda Trust Direct Access Keyboard
trust_slimline Trust Slimline
tm2020 TypeMatrix EZ-Reach 2020
tm2030PS2 TypeMatrix EZ-Reach 2030 PS2
tm2030USB TypeMatrix EZ-Reach 2030 USB
tm2030USB-102 TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)
tm2030USB-106 TypeMatrix EZ-Reach 2030 USB (106:JP mode)
yahoo Yahoo! Internet Keyboard
macbook78 MacBook/MacBook Pro
macbook79 MacBook/MacBook Pro (Intl)
macintosh Macintosh
macintosh_old Macintosh Old
macintosh_hhk Happy Hacking Keyboard for Mac
acer_c300 Acer C300
acer_ferrari4k Acer Ferrari 4000
acer_laptop Acer Laptop
asus_laptop Asus Laptop
apple Apple
apple_laptop Apple Laptop
applealu_ansi Apple Aluminium Keyboard (ANSI)
applealu_iso Apple Aluminium Keyboard (ISO)
applealu_jis Apple Aluminium Keyboard (JIS)
silvercrest SILVERCREST Multimedia Wireless Keyboard
emachines Laptop/notebook eMachines m68xx
benqx BenQ X-Touch
benqx730 BenQ X-Touch 730
benqx800 BenQ X-Touch 800
hhk Happy Hacking Keyboard
classmate Classmate PC
olpc OLPC
sun_type7_usb Sun Type 7 USB
sun_type7_euro_usb Sun Type 7 USB (European layout)
sun_type7_unix_usb Sun Type 7 USB (Unix layout)
sun_type7_jp_usb Sun Type 7 USB (Japanese layout) / Japanese 106-key
sun_type6_usb Sun Type 6/7 USB
sun_type6_euro_usb Sun Type 6/7 USB (European layout)
sun_type6_unix_usb Sun Type 6 USB (Unix layout)
sun_type6_jp_usb Sun Type 6 USB (Japanese layout)
sun_type6_jp Sun Type 6 (Japanese layout)
targa_v811 Targa Visionary 811
unitekkb1925 Unitek KB-1925
compalfl90 FL90
creativedw7000 Creative Desktop Wireless 7000
htcdream Htc Dream phone
teck227 Truly Ergonomic Computer Keyboard Model 227 (Wide Alt keys)
teck229 Truly Ergonomic Computer Keyboard Model 229 (Standard sized Alt keys, additional Super and Menu key)
! layout
us English (US)
af Afghani
ara Arabic
al Albanian
am Armenian
at German (Austria)
au English (Australian)
az Azerbaijani
by Belarusian
be Belgian
in Indian
ba Bosnian
br Portuguese (Brazil)
bg Bulgarian
dz Berber (Algeria, Latin characters)
ma Arabic (Morocco)
cm English (Cameroon)
mm Burmese
ca French (Canada)
cd French (Democratic Republic of the Congo)
cn Chinese
hr Croatian
cz Czech
dk Danish
nl Dutch
bt Dzongkha
ee Estonian
ir Persian
iq Iraqi
fo Faroese
fi Finnish
fr French
gh English (Ghana)
gn French (Guinea)
ge Georgian
de German
gr Greek
hu Hungarian
is Icelandic
il Hebrew
it Italian
jp Japanese
kg Kyrgyz
kh Khmer (Cambodia)
kz Kazakh
la Lao
latam Spanish (Latin American)
lt Lithuanian
lv Latvian
mao Maori
me Montenegrin
mk Macedonian
mt Maltese
mn Mongolian
no Norwegian
pl Polish
pt Portuguese
ro Romanian
ru Russian
rs Serbian
si Slovenian
sk Slovak
es Spanish
se Swedish
ch German (Switzerland)
sy Arabic (Syria)
tj Tajik
lk Sinhala (phonetic)
th Thai
tr Turkish
tw Taiwanese
ua Ukrainian
gb English (UK)
uz Uzbek
vn Vietnamese
kr Korean
nec_vndr/jp Japanese (PC-98xx Series)
ie Irish
pk Urdu (Pakistan)
mv Dhivehi
za English (South Africa)
epo Esperanto
np Nepali
ng English (Nigeria)
et Amharic
sn Wolof
brai Braille
tm Turkmen
ml Bambara
tz Swahili (Tanzania)
tg French (Togo)
ke Swahili (Kenya)
bw Tswana
ph Filipino
md Moldavian
id Indonesian (Jawi)
my Malay (Jawi)
bn Malay (Jawi)
! variant
chr us: Cherokee
euro us: English (US, with euro on 5)
intl us: English (US, international with dead keys)
alt-intl us: English (US, alternative international)
colemak us: English (Colemak)
dvorak us: English (Dvorak)
dvorak-intl us: English (Dvorak, international with dead keys)
dvorak-alt-intl us: English (Dvorak alternative international no dead keys)
dvorak-l us: English (left handed Dvorak)
dvorak-r us: English (right handed Dvorak)
dvorak-classic us: English (classic Dvorak)
dvp us: English (Programmer Dvorak)
rus us: Russian (US, phonetic)
mac us: English (Macintosh)
altgr-intl us: English (international AltGr dead keys)
olpc2 us: English (the divide/multiply keys toggle the layout)
hbs us: Serbo-Croatian (US)
workman us: English (Workman)
workman-intl us: English (Workman, international with dead keys)
ps af: Pashto
uz af: Uzbek (Afghanistan)
olpc-ps af: Pashto (Afghanistan, OLPC)
fa-olpc af: Persian (Afghanistan, Dari OLPC)
uz-olpc af: Uzbek (Afghanistan, OLPC)
azerty ara: Arabic (azerty)
azerty_digits ara: Arabic (azerty/digits)
digits ara: Arabic (digits)
qwerty ara: Arabic (qwerty)
qwerty_digits ara: Arabic (qwerty/digits)
buckwalter ara: Arabic (Buckwalter)
mac ara: Arabic (Macintosh)
plisi-d1 al: Albanian (Plisi D1)
phonetic am: Armenian (phonetic)
phonetic-alt am: Armenian (alternative phonetic)
eastern am: Armenian (eastern)
western am: Armenian (western)
eastern-alt am: Armenian (alternative eastern)
nodeadkeys at: German (Austria, eliminate dead keys)
sundeadkeys at: German (Austria, Sun dead keys)
mac at: German (Austria, Macintosh)
cyrillic az: Azerbaijani (Cyrillic)
legacy by: Belarusian (legacy)
latin by: Belarusian (Latin)
oss be: Belgian (alternative)
oss_latin9 be: Belgian (alternative, Latin-9 only)
oss_sundeadkeys be: Belgian (alternative, Sun dead keys)
iso-alternate be: Belgian (ISO alternate)
nodeadkeys be: Belgian (eliminate dead keys)
sundeadkeys be: Belgian (Sun dead keys)
wang be: Belgian (Wang model 724 azerty)
urd-phonetic in: Urdu (phonetic)
urd-phonetic3 in: Urdu (alternative phonetic)
urd-winkeys in: Urdu (WinKeys)
eng in: English (India, with rupee sign)
alternatequotes ba: Bosnian (with guillemets for quotes)
unicode ba: Bosnian (with Bosnian digraphs)
unicodeus ba: Bosnian (US keyboard with Bosnian digraphs)
us ba: Bosnian (US keyboard with Bosnian letters)
nodeadkeys br: Portuguese (Brazil, eliminate dead keys)
dvorak br: Portuguese (Brazil, Dvorak)
nativo br: Portuguese (Brazil, Nativo)
nativo-us br: Portuguese (Brazil, Nativo for US keyboards)
nativo-epo br: Esperanto (Brazil, Nativo)
thinkpad br: Portuguese (Brazil, IBM/Lenovo ThinkPad)
phonetic bg: Bulgarian (traditional phonetic)
bas_phonetic bg: Bulgarian (new phonetic)
ber dz: Berber (Algeria, Tifinagh characters)
ar dz: Arabic (Algeria)
french ma: French (Morocco)
tifinagh ma: Berber (Morocco, Tifinagh)
tifinagh-alt ma: Berber (Morocco, Tifinagh alternative)
tifinagh-alt-phonetic ma: Berber (Morocco, Tifinagh alternative phonetic)
tifinagh-extended ma: Berber (Morocco, Tifinagh extended)
tifinagh-phonetic ma: Berber (Morocco, Tifinagh phonetic)
tifinagh-extended-phonetic ma: Berber (Morocco, Tifinagh extended phonetic)
french cm: French (Cameroon)
qwerty cm: Cameroon Multilingual (qwerty)
azerty cm: Cameroon Multilingual (azerty)
dvorak cm: Cameroon Multilingual (Dvorak)
mmuock cm: Mmuock
fr-dvorak ca: French (Canada, Dvorak)
fr-legacy ca: French (Canada, legacy)
multix ca: Canadian Multilingual
multi ca: Canadian Multilingual (first part)
multi-2gr ca: Canadian Multilingual (second part)
ike ca: Inuktitut
eng ca: English (Canada)
tib cn: Tibetan
tib_asciinum cn: Tibetan (with ASCII numerals)
ug cn: Uyghur
alternatequotes hr: Croatian (with guillemets for quotes)
unicode hr: Croatian (with Croatian digraphs)
unicodeus hr: Croatian (US keyboard with Croatian digraphs)
us hr: Croatian (US keyboard with Croatian letters)
bksl cz: Czech (with <\|> key)
qwerty cz: Czech (qwerty)
qwerty_bksl cz: Czech (qwerty, extended Backslash)
ucw cz: Czech (UCW layout, accented letters only)
dvorak-ucw cz: Czech (US Dvorak with CZ UCW support)
rus cz: Russian (Czech, phonetic)
nodeadkeys dk: Danish (eliminate dead keys)
winkeys dk: Danish (Winkeys)
mac dk: Danish (Macintosh)
mac_nodeadkeys dk: Danish (Macintosh, eliminate dead keys)
dvorak dk: Danish (Dvorak)
sundeadkeys nl: Dutch (Sun dead keys)
mac nl: Dutch (Macintosh)
std nl: Dutch (standard)
nodeadkeys ee: Estonian (eliminate dead keys)
dvorak ee: Estonian (Dvorak)
us ee: Estonian (US keyboard with Estonian letters)
pes_keypad ir: Persian (with Persian keypad)
ku ir: Kurdish (Iran, Latin Q)
ku_f ir: Kurdish (Iran, F)
ku_alt ir: Kurdish (Iran, Latin Alt-Q)
ku_ara ir: Kurdish (Iran, Arabic-Latin)
ku iq: Kurdish (Iraq, Latin Q)
ku_f iq: Kurdish (Iraq, F)
ku_alt iq: Kurdish (Iraq, Latin Alt-Q)
ku_ara iq: Kurdish (Iraq, Arabic-Latin)
nodeadkeys fo: Faroese (eliminate dead keys)
classic fi: Finnish (classic)
nodeadkeys fi: Finnish (classic, eliminate dead keys)
winkeys fi: Finnish (Winkeys)
smi fi: Northern Saami (Finland)
mac fi: Finnish (Macintosh)
nodeadkeys fr: French (eliminate dead keys)
sundeadkeys fr: French (Sun dead keys)
oss fr: French (alternative)
oss_latin9 fr: French (alternative, Latin-9 only)
oss_nodeadkeys fr: French (alternative, eliminate dead keys)
oss_sundeadkeys fr: French (alternative, Sun dead keys)
latin9 fr: French (legacy, alternative)
latin9_nodeadkeys fr: French (legacy, alternative, eliminate dead keys)
latin9_sundeadkeys fr: French (legacy, alternative, Sun dead keys)
bepo fr: French (Bepo, ergonomic, Dvorak way)
bepo_latin9 fr: French (Bepo, ergonomic, Dvorak way, Latin-9 only)
dvorak fr: French (Dvorak)
mac fr: French (Macintosh)
azerty fr: French (Azerty)
bre fr: French (Breton)
oci fr: Occitan
geo fr: Georgian (France, AZERTY Tskapo)
generic gh: English (Ghana, multilingual)
akan gh: Akan
ewe gh: Ewe
fula gh: Fula
ga gh: Ga
hausa gh: Hausa
avn gh: Avatime
gillbt gh: English (Ghana, GILLBT)
ergonomic ge: Georgian (ergonomic)
mess ge: Georgian (MESS)
ru ge: Russian (Georgia)
os ge: Ossetian (Georgia)
deadacute de: German (dead acute)
deadgraveacute de: German (dead grave acute)
nodeadkeys de: German (eliminate dead keys)
T3 de: German (T3)
ro de: Romanian (Germany)
ro_nodeadkeys de: Romanian (Germany, eliminate dead keys)
dvorak de: German (Dvorak)
sundeadkeys de: German (Sun dead keys)
neo de: German (Neo 2)
mac de: German (Macintosh)
mac_nodeadkeys de: German (Macintosh, eliminate dead keys)
dsb de: Lower Sorbian
dsb_qwertz de: Lower Sorbian (qwertz)
qwerty de: German (qwerty)
tr de: Turkish (Germany)
ru de: Russian (Germany, phonetic)
deadtilde de: German (dead tilde)
simple gr: Greek (simple)
extended gr: Greek (extended)
nodeadkeys gr: Greek (eliminate dead keys)
polytonic gr: Greek (polytonic)
standard hu: Hungarian (standard)
nodeadkeys hu: Hungarian (eliminate dead keys)
qwerty hu: Hungarian (qwerty)
101_qwertz_comma_dead hu: Hungarian (101/qwertz/comma/dead keys)
101_qwertz_comma_nodead hu: Hungarian (101/qwertz/comma/eliminate dead keys)
101_qwertz_dot_dead hu: Hungarian (101/qwertz/dot/dead keys)
101_qwertz_dot_nodead hu: Hungarian (101/qwertz/dot/eliminate dead keys)
101_qwerty_comma_dead hu: Hungarian (101/qwerty/comma/dead keys)
101_qwerty_comma_nodead hu: Hungarian (101/qwerty/comma/eliminate dead keys)
101_qwerty_dot_dead hu: Hungarian (101/qwerty/dot/dead keys)
101_qwerty_dot_nodead hu: Hungarian (101/qwerty/dot/eliminate dead keys)
102_qwertz_comma_dead hu: Hungarian (102/qwertz/comma/dead keys)
102_qwertz_comma_nodead hu: Hungarian (102/qwertz/comma/eliminate dead keys)
102_qwertz_dot_dead hu: Hungarian (102/qwertz/dot/dead keys)
102_qwertz_dot_nodead hu: Hungarian (102/qwertz/dot/eliminate dead keys)
102_qwerty_comma_dead hu: Hungarian (102/qwerty/comma/dead keys)
102_qwerty_comma_nodead hu: Hungarian (102/qwerty/comma/eliminate dead keys)
102_qwerty_dot_dead hu: Hungarian (102/qwerty/dot/dead keys)
102_qwerty_dot_nodead hu: Hungarian (102/qwerty/dot/eliminate dead keys)
Sundeadkeys is: Icelandic (Sun dead keys)
nodeadkeys is: Icelandic (eliminate dead keys)
mac_legacy is: Icelandic (Macintosh, legacy)
mac is: Icelandic (Macintosh)
dvorak is: Icelandic (Dvorak)
lyx il: Hebrew (lyx)
phonetic il: Hebrew (phonetic)
biblical il: Hebrew (Biblical, Tiro)
nodeadkeys it: Italian (eliminate dead keys)
winkeys it: Italian (Winkeys)
mac it: Italian (Macintosh)
us it: Italian (US keyboard with Italian letters)
geo it: Georgian (Italy)
ibm it: Italian (IBM 142)
kana jp: Japanese (Kana)
kana86 jp: Japanese (Kana 86)
OADG109A jp: Japanese (OADG 109A)
mac jp: Japanese (Macintosh)
dvorak jp: Japanese (Dvorak)
phonetic kg: Kyrgyz (phonetic)
ruskaz kz: Russian (Kazakhstan, with Kazakh)
kazrus kz: Kazakh (with Russian)
ext kz: Kazakh (extended)
stea la: Lao (STEA proposed standard layout)
nodeadkeys latam: Spanish (Latin American, eliminate dead keys)
deadtilde latam: Spanish (Latin American, include dead tilde)
sundeadkeys latam: Spanish (Latin American, Sun dead keys)
dvorak latam: Spanish (Latin American, Dvorak)
std lt: Lithuanian (standard)
us lt: Lithuanian (US keyboard with Lithuanian letters)
ibm lt: Lithuanian (IBM LST 1205-92)
lekp lt: Lithuanian (LEKP)
lekpa lt: Lithuanian (LEKPa)
apostrophe lv: Latvian (apostrophe variant)
tilde lv: Latvian (tilde variant)
fkey lv: Latvian (F variant)
modern lv: Latvian (modern)
ergonomic lv: Latvian (ergonomic, ŪGJRMV)
adapted lv: Latvian (adapted)
cyrillic me: Montenegrin (Cyrillic)
cyrillicyz me: Montenegrin (Cyrillic, ZE and ZHE swapped)
latinunicode me: Montenegrin (Latin Unicode)
latinyz me: Montenegrin (Latin qwerty)
latinunicodeyz me: Montenegrin (Latin Unicode qwerty)
cyrillicalternatequotes me: Montenegrin (Cyrillic with guillemets)
latinalternatequotes me: Montenegrin (Latin with guillemets)
nodeadkeys mk: Macedonian (eliminate dead keys)
us mt: Maltese (with US layout)
nodeadkeys no: Norwegian (eliminate dead keys)
winkeys no: Norwegian (Winkeys)
dvorak no: Norwegian (Dvorak)
smi no: Northern Saami (Norway)
smi_nodeadkeys no: Northern Saami (Norway, eliminate dead keys)
mac no: Norwegian (Macintosh)
mac_nodeadkeys no: Norwegian (Macintosh, eliminate dead keys)
colemak no: Norwegian (Colemak)
legacy pl: Polish (legacy)
qwertz pl: Polish (qwertz)
dvorak pl: Polish (Dvorak)
dvorak_quotes pl: Polish (Dvorak, Polish quotes on quotemark key)
dvorak_altquotes pl: Polish (Dvorak, Polish quotes on key 1)
csb pl: Kashubian
szl pl: Silesian
ru_phonetic_dvorak pl: Russian (Poland, phonetic Dvorak)
dvp pl: Polish (programmer Dvorak)
nodeadkeys pt: Portuguese (eliminate dead keys)
sundeadkeys pt: Portuguese (Sun dead keys)
mac pt: Portuguese (Macintosh)
mac_nodeadkeys pt: Portuguese (Macintosh, eliminate dead keys)
mac_sundeadkeys pt: Portuguese (Macintosh, Sun dead keys)
nativo pt: Portuguese (Nativo)
nativo-us pt: Portuguese (Nativo for US keyboards)
nativo-epo pt: Esperanto (Portugal, Nativo)
cedilla ro: Romanian (cedilla)
std ro: Romanian (standard)
std_cedilla ro: Romanian (standard cedilla)
winkeys ro: Romanian (WinKeys)
phonetic ru: Russian (phonetic)
phonetic_winkeys ru: Russian (phonetic WinKeys)
typewriter ru: Russian (typewriter)
legacy ru: Russian (legacy)
typewriter-legacy ru: Russian (typewriter, legacy)
tt ru: Tatar
os_legacy ru: Ossetian (legacy)
os_winkeys ru: Ossetian (WinKeys)
cv ru: Chuvash
cv_latin ru: Chuvash (Latin)
udm ru: Udmurt
kom ru: Komi
sah ru: Yakut
xal ru: Kalmyk
dos ru: Russian (DOS)
mac ru: Russian (Macintosh)
srp ru: Serbian (Russia)
bak ru: Bashkirian
chm ru: Mari
phonetic_azerty ru: Russian (phonetic azerty)
phonetic_dvorak ru: Russian (phonetic dvorak)
phonetic_fr ru: Russian (phonetic French)
yz rs: Serbian (Cyrillic, ZE and ZHE swapped)
latin rs: Serbian (Latin)
latinunicode rs: Serbian (Latin Unicode)
latinyz rs: Serbian (Latin qwerty)
latinunicodeyz rs: Serbian (Latin Unicode qwerty)
alternatequotes rs: Serbian (Cyrillic with guillemets)
latinalternatequotes rs: Serbian (Latin with guillemets)
rue rs: Pannonian Rusyn
alternatequotes si: Slovenian (with guillemets for quotes)
us si: Slovenian (US keyboard with Slovenian letters)
bksl sk: Slovak (extended Backslash)
qwerty sk: Slovak (qwerty)
qwerty_bksl sk: Slovak (qwerty, extended Backslash)
nodeadkeys es: Spanish (eliminate dead keys)
winkeys es: Spanish (Winkeys)
deadtilde es: Spanish (include dead tilde)
sundeadkeys es: Spanish (Sun dead keys)
dvorak es: Spanish (Dvorak)
ast es: Asturian (Spain, with bottom-dot H and bottom-dot L)
cat es: Catalan (Spain, with middle-dot L)
mac es: Spanish (Macintosh)
nodeadkeys se: Swedish (eliminate dead keys)
dvorak se: Swedish (Dvorak)
rus se: Russian (Sweden, phonetic)
rus_nodeadkeys se: Russian (Sweden, phonetic, eliminate dead keys)
smi se: Northern Saami (Sweden)
mac se: Swedish (Macintosh)
svdvorak se: Swedish (Svdvorak)
swl se: Swedish Sign Language
legacy ch: German (Switzerland, legacy)
de_nodeadkeys ch: German (Switzerland, eliminate dead keys)
de_sundeadkeys ch: German (Switzerland, Sun dead keys)
fr ch: French (Switzerland)
fr_nodeadkeys ch: French (Switzerland, eliminate dead keys)
fr_sundeadkeys ch: French (Switzerland, Sun dead keys)
fr_mac ch: French (Switzerland, Macintosh)
de_mac ch: German (Switzerland, Macintosh)
syc sy: Syriac
syc_phonetic sy: Syriac (phonetic)
ku sy: Kurdish (Syria, Latin Q)
ku_f sy: Kurdish (Syria, F)
ku_alt sy: Kurdish (Syria, Latin Alt-Q)
legacy tj: Tajik (legacy)
tam_unicode lk: Tamil (Sri Lanka, Unicode)
tam_TAB lk: Tamil (Sri Lanka, TAB Typewriter)
us lk: Sinhala (US keyboard with Sinhala letters)
tis th: Thai (TIS-820.2538)
pat th: Thai (Pattachote)
f tr: Turkish (F)
alt tr: Turkish (Alt-Q)
sundeadkeys tr: Turkish (Sun dead keys)
ku tr: Kurdish (Turkey, Latin Q)
ku_f tr: Kurdish (Turkey, F)
ku_alt tr: Kurdish (Turkey, Latin Alt-Q)
intl tr: Turkish (international with dead keys)
crh tr: Crimean Tatar (Turkish Q)
crh_f tr: Crimean Tatar (Turkish F)
crh_alt tr: Crimean Tatar (Turkish Alt-Q)
indigenous tw: Taiwanese (indigenous)
saisiyat tw: Saisiyat (Taiwan)
phonetic ua: Ukrainian (phonetic)
typewriter ua: Ukrainian (typewriter)
winkeys ua: Ukrainian (WinKeys)
legacy ua: Ukrainian (legacy)
rstu ua: Ukrainian (standard RSTU)
rstu_ru ua: Russian (Ukraine, standard RSTU)
homophonic ua: Ukrainian (homophonic)
extd gb: English (UK, extended WinKeys)
intl gb: English (UK, international with dead keys)
dvorak gb: English (UK, Dvorak)
dvorakukp gb: English (UK, Dvorak with UK punctuation)
mac gb: English (UK, Macintosh)
mac_intl gb: English (UK, Macintosh international)
colemak gb: English (UK, Colemak)
latin uz: Uzbek (Latin)
kr104 kr: Korean (101/104 key compatible)
CloGaelach ie: CloGaelach
UnicodeExpert ie: Irish (UnicodeExpert)
ogam ie: Ogham
ogam_is434 ie: Ogham (IS434)
urd-crulp pk: Urdu (Pakistan, CRULP)
urd-nla pk: Urdu (Pakistan, NLA)
ara pk: Arabic (Pakistan)
snd pk: Sindhi
legacy epo: Esperanto (displaced semicolon and quote, obsolete)
igbo ng: Igbo
yoruba ng: Yoruba
hausa ng: Hausa
left_hand brai: Braille (left hand)
right_hand brai: Braille (right hand)
alt tm: Turkmen (Alt-Q)
fr-oss ml: French (Mali, alternative)
us-mac ml: English (Mali, US Macintosh)
us-intl ml: English (Mali, US international)
kik ke: Kikuyu
qwerty-bay ph: Filipino (QWERTY Baybayin)
capewell-dvorak ph: Filipino (Capewell-Dvorak Latin)
capewell-dvorak-bay ph: Filipino (Capewell-Dvorak Baybayin)
capewell-qwerf2k6 ph: Filipino (Capewell-QWERF 2006 Latin)
capewell-qwerf2k6-bay ph: Filipino (Capewell-QWERF 2006 Baybayin)
colemak ph: Filipino (Colemak Latin)
colemak-bay ph: Filipino (Colemak Baybayin)
dvorak ph: Filipino (Dvorak Latin)
dvorak-bay ph: Filipino (Dvorak Baybayin)
gag md: Moldavian (Gagauz)
! option
grp Switching to another layout
grp:switch Right Alt (while pressed)
grp:lswitch Left Alt (while pressed)
grp:lwin_switch Left Win (while pressed)
grp:rwin_switch Right Win (while pressed)
grp:win_switch Any Win key (while pressed)
grp:caps_switch Caps Lock (while pressed), Alt+Caps Lock does the original capslock action
grp:rctrl_switch Right Ctrl (while pressed)
grp:toggle Right Alt
grp:lalt_toggle Left Alt
grp:caps_toggle Caps Lock
grp:shift_caps_toggle Shift+Caps Lock
grp:shift_caps_switch Caps Lock (to first layout), Shift+Caps Lock (to last layout)
grp:win_menu_switch Left Win (to first layout), Right Win/Menu (to last layout)
grp:lctrl_rctrl_switch Left Ctrl (to first layout), Right Ctrl (to last layout)
grp:alt_caps_toggle Alt+Caps Lock
grp:shifts_toggle Both Shift keys together
grp:alts_toggle Both Alt keys together
grp:ctrls_toggle Both Ctrl keys together
grp:ctrl_shift_toggle Ctrl+Shift
grp:lctrl_lshift_toggle Left Ctrl+Left Shift
grp:rctrl_rshift_toggle Right Ctrl+Right Shift
grp:ctrl_alt_toggle Alt+Ctrl
grp:alt_shift_toggle Alt+Shift
grp:lalt_lshift_toggle Left Alt+Left Shift
grp:alt_space_toggle Alt+Space
grp:menu_toggle Menu
grp:lwin_toggle Left Win
grp:win_space_toggle Win Key+Space
grp:rwin_toggle Right Win
grp:lshift_toggle Left Shift
grp:rshift_toggle Right Shift
grp:lctrl_toggle Left Ctrl
grp:rctrl_toggle Right Ctrl
grp:sclk_toggle Scroll Lock
grp:lctrl_lwin_rctrl_menu LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)
grp:lctrl_lwin_toggle LeftCtrl+LeftWin
lv3 Key to choose 3rd level
lv3:switch Right Ctrl
lv3:menu_switch Menu
lv3:win_switch Any Win key
lv3:lwin_switch Left Win
lv3:rwin_switch Right Win
lv3:alt_switch Any Alt key
lv3:lalt_switch Left Alt
lv3:ralt_switch Right Alt
lv3:ralt_switch_multikey Right Alt, Shift+Right Alt key is Compose
lv3:ralt_alt Right Alt key never chooses 3rd level
lv3:enter_switch Enter on keypad
lv3:caps_switch Caps Lock
lv3:bksl_switch Backslash
lv3:lsgt_switch <Less/Greater>
lv3:caps_switch_latch Caps Lock chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser
lv3:bksl_switch_latch Backslash chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser
lv3:lsgt_switch_latch <Less/Greater> chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser
ctrl Ctrl key position
ctrl:nocaps Caps Lock as Ctrl
ctrl:lctrl_meta Left Ctrl as Meta
ctrl:swapcaps Swap Ctrl and Caps Lock
ctrl:ac_ctrl At left of 'A'
ctrl:aa_ctrl At bottom left
ctrl:rctrl_ralt Right Ctrl as Right Alt
ctrl:menu_rctrl Menu as Right Ctrl
ctrl:swap_lalt_lctl Swap Left Alt key with Left Ctrl key
ctrl:swap_lwin_lctl Swap Left Win key with Left Ctrl key
ctrl:swap_rwin_rctl Swap Right Win key with Right Ctrl key
ctrl:swap_lalt_lctl_lwin Left Alt as Ctrl, Left Ctrl as Win, Left Win as Alt
grp_led Use keyboard LED to show alternative layout
grp_led:num Num Lock
grp_led:caps Caps Lock
grp_led:scroll Scroll Lock
keypad Layout of numeric keypad
keypad:legacy Legacy
keypad:oss Unicode additions (arrows and math operators)
keypad:future Unicode additions (arrows and math operators; math operators on default level)
keypad:legacy_wang Legacy Wang 724
keypad:oss_wang Wang 724 keypad with Unicode additions (arrows and math operators)
keypad:future_wang Wang 724 keypad with Unicode additions (arrows and math operators; math operators on default level)
keypad:hex Hexadecimal
keypad:atm ATM/phone-style
kpdl Numeric keypad delete key behaviour
kpdl:dot Legacy key with dot
kpdl:comma Legacy key with comma
kpdl:dotoss Four-level key with dot
kpdl:dotoss_latin9 Four-level key with dot, Latin-9 only
kpdl:commaoss Four-level key with comma
kpdl:momayyezoss Four-level key with momayyez
kpdl:kposs Four-level key with abstract separators
kpdl:semi Semicolon on third level
caps Caps Lock key behavior
caps:internal Caps Lock uses internal capitalization; Shift "pauses" Caps Lock
caps:internal_nocancel Caps Lock uses internal capitalization; Shift doesn't affect Caps Lock
caps:shift Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock
caps:shift_nocancel Caps Lock acts as Shift with locking; Shift doesn't affect Caps Lock
caps:capslock Caps Lock toggles normal capitalization of alphabetic characters
caps:shiftlock Caps Lock toggles ShiftLock (affects all keys)
caps:swapescape Swap ESC and Caps Lock
caps:escape Make Caps Lock an additional ESC
caps:backspace Make Caps Lock an additional Backspace
caps:super Make Caps Lock an additional Super
caps:hyper Make Caps Lock an additional Hyper
caps:menu Make Caps Lock an additional Menu key
caps:numlock Make Caps Lock an additional Num Lock
caps:ctrl_modifier Caps Lock is also a Ctrl
caps:none Caps Lock is disabled
altwin Alt/Win key behavior
altwin:menu Add the standard behavior to Menu key
altwin:meta_alt Alt and Meta are on Alt keys
altwin:alt_win Alt is mapped to Win keys (and the usual Alt keys)
altwin:ctrl_win Ctrl is mapped to Win keys (and the usual Ctrl keys)
altwin:ctrl_alt_win Ctrl is mapped to Alt keys, Alt is mapped to Win keys
altwin:meta_win Meta is mapped to Win keys
altwin:left_meta_win Meta is mapped to Left Win
altwin:hyper_win Hyper is mapped to Win keys
altwin:alt_super_win Alt is mapped to Right Win, Super to Menu
altwin:swap_lalt_lwin Left Alt is swapped with Left Win
altwin:swap_alt_win Alt is swapped with Win
altwin:prtsc_rwin Win is mapped to PrtSc (and the usual Win key)
Compose key Position of Compose key
compose:ralt Right Alt
compose:lwin Left Win
compose:lwin-altgr 3rd level of Left Win
compose:rwin Right Win
compose:rwin-altgr 3rd level of Right Win
compose:menu Menu
compose:menu-altgr 3rd level of Menu
compose:lctrl Left Ctrl
compose:lctrl-altgr 3rd level of Left Ctrl
compose:rctrl Right Ctrl
compose:rctrl-altgr 3rd level of Right Ctrl
compose:caps Caps Lock
compose:caps-altgr 3rd level of Caps Lock
compose:102 <Less/Greater>
compose:102-altgr 3rd level of <Less/Greater>
compose:paus Pause
compose:prsc PrtSc
compose:sclk Scroll Lock
compat Miscellaneous compatibility options
numpad:pc Default numeric keypad keys
numpad:mac Numeric keypad keys always enter digits (as in Mac OS)
numpad:microsoft NumLock on: digits, Shift switches to arrow keys, Numlock off: always arrow keys (as in MS Windows)
numpad:shift3 Shift does not cancel Num Lock, chooses 3rd level instead
srvrkeys:none Special keys (Ctrl+Alt+<key>) handled in a server
apple:alupckeys Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)
shift:breaks_caps Shift cancels Caps Lock
misc:typo Enable extra typographic characters
shift:both_capslock Both Shift keys together toggle Caps Lock
shift:both_capslock_cancel Both Shift keys together activate Caps Lock, one Shift key deactivates
shift:both_shiftlock Both Shift keys together toggle ShiftLock
keypad:pointerkeys Shift + NumLock toggles PointerKeys
grab:break_actions Allow breaking grabs with keyboard actions (warning: security risk)
grab:debug Allow grab and window tree logging
currencysign Adding currency signs to certain keys
eurosign:e Euro on E
eurosign:2 Euro on 2
eurosign:4 Euro on 4
eurosign:5 Euro on 5
rupeesign:4 Rupee on 4
lv5 Key to choose 5th level
lv5:lsgt_switch_lock <Less/Greater> chooses 5th level, locks when pressed together with another 5th-level-chooser
lv5:ralt_switch_lock Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser
lv5:lwin_switch_lock Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser
lv5:rwin_switch_lock Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser
nbsp Using space key to input non-breakable space character
nbsp:none Usual space at any level
nbsp:level2 Non-breakable space character at second level
nbsp:level3 Non-breakable space character at third level
nbsp:level3s Non-breakable space character at third level, nothing at fourth level
nbsp:level3n Non-breakable space character at third level, thin non-breakable space character at fourth level
nbsp:level4 Non-breakable space character at fourth level
nbsp:level4n Non-breakable space character at fourth level, thin non-breakable space character at sixth level
nbsp:level4nl Non-breakable space character at fourth level, thin non-breakable space character at sixth level (via Ctrl+Shift)
nbsp:zwnj2 Zero-width non-joiner character at second level
nbsp:zwnj2zwj3 Zero-width non-joiner character at second level, zero-width joiner character at third level
nbsp:zwnj2zwj3nb4 Zero-width non-joiner character at second level, zero-width joiner character at third level, non-breakable space character at fourth level
nbsp:zwnj2nb3 Zero-width non-joiner character at second level, non-breakable space character at third level
nbsp:zwnj2nb3s Zero-width non-joiner character at second level, non-breakable space character at third level, nothing at fourth level
nbsp:zwnj2nb3zwj4 Zero-width non-joiner character at second level, non-breakable space character at third level, zero-width joiner at fourth level
nbsp:zwnj2nb3nnb4 Zero-width non-joiner character at second level, non-breakable space character at third level, thin non-breakable space at fourth level
nbsp:zwnj3zwj4 Zero-width non-joiner character at third level, zero-width joiner at fourth level
japan Japanese keyboard options
japan:kana_lock Kana Lock key is locking
japan:nicola_f_bs NICOLA-F style Backspace
japan:hztg_escape Make Zenkaku Hankaku an additional ESC
korean Korean Hangul/Hanja keys
korean:hw_keys Hardware Hangul/Hanja keys
korean:ralt_rctrl Right Alt as Hangul, right Ctrl as Hanja
korean:rctrl_ralt Right Ctrl as Hangul, right Alt as Hanja
esperanto Adding Esperanto supersigned letters
esperanto:qwerty To the corresponding key in a Qwerty layout
esperanto:dvorak To the corresponding key in a Dvorak layout
esperanto:colemak To the corresponding key in a Colemak layout
solaris Maintain key compatibility with old Solaris keycodes
solaris:sun_compat Sun Key compatibility
terminate Key sequence to kill the X server
terminate:ctrl_alt_bksp Ctrl + Alt + Backspace
@wallacesilva
Copy link

thank you so much man. :D

😄

@KR1470R
Copy link

KR1470R commented Aug 27, 2020

Appreciate it <3

@imabuddha
Copy link

Thanks! 🙇

@lokithus
Copy link

Thank you very mucho, sir!

@UltiRequiem
Copy link

Thanks man!

@duchainer
Copy link

duchainer commented May 21, 2021

Really useful, thanks a lot. How did you (partially) generate it, in case this gist become obsolete?
Edit: Seems, according to https://www.freedesktop.org/software/systemd/man/localectl.html , that the localectl list-x11-keymap-* subcommands are what outputs this.

@jatcwang
Copy link
Author

TBH, I forgot how I generated 😄 thanks for mentioning the command!

@smalinux
Copy link

Thanks!

@rayssd
Copy link

rayssd commented Nov 17, 2021

Thanks a lot!!

@Ddystopia
Copy link

I still can't figure out, how to map super to right alt

@Johan-Liebert1
Copy link

Thanks

@CSaratakij
Copy link

Thanks you for saving my time :D

@qy3u
Copy link

qy3u commented Apr 2, 2022

Thanks a lot!

@alxbnct
Copy link

alxbnct commented Jul 17, 2022

Thank you so much ^)^

@UltraBlackLinux
Copy link

UltraBlackLinux commented Jul 18, 2022

Very useful guide!

@magackame
Copy link

You are a life saver!

@oscarpax
Copy link

Thank you!

@callamd
Copy link

callamd commented Mar 24, 2023

Life saver

@joncol
Copy link

joncol commented Mar 29, 2023

Also man xkeyboard-config gives some good help on some of the options.

@mario-git
Copy link

Yet another thanks :)

@ShailMurtaza
Copy link

ShailMurtaza commented Jan 29, 2024

Any looking for Urdu layouts
setxkbmap in urd-phonetic
setxkbmap pk
setxkbmap pk ara (if you want arabic numerals)

@piero-vic
Copy link

I think you can also get this info by runing this.

cat /usr/share/X11/xkb/rules/base.lst

@MikeLemo1
Copy link

grp:toggle doesn't seem to work while grp:switch on ubuntu 22.04

@shihongji
Copy link

Thx, you help me

@Toprun123
Copy link

This literally saved my life after hours of searching for what the code for my language was.

@odiep2
Copy link

odiep2 commented Nov 9, 2024

@piero-vic: [/usr/share/X11/xkb/rules/base.lst] = 1013 lines.
"gistfile1.txt" is a copy of [/usr/share/X11/xkb/rules/evdev.lst] = 887 lines.

Both files differ a lot: https://www.diffchecker.com/nfFpNeVR/

If @jatcwang uses evdev.lst for setxkbmap, I think that's the file to use.

But ...
[setxkbmap -model pc86] > [setxkbmap -query] returns:
rules: evdev
model: pc86
layout: us
options: grp:win_space_toggle,terminate:ctrl_alt_bksp

[!] model "pc86" is in base.lst, NOT in evdev.lst
"rules=evdev", but you can use values from base.lst?

Even stranger:
[setxkbmap -model pc999] > [setxkbmap -query] returns:
rules: evdev
model: pc999
layout: us
options: grp:win_space_toggle,terminate:ctrl_alt_bksp

[!] A pc999 keyboard does not exist. I'm astray ...

BTW: lots of info about setxkbmap: https://wiki.archlinux.org/title/Xorg/Keyboard_configuration#Using_setxkbmap

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment