有没有办法从命令行检索所有可用键盘布局和相关变体的列表?
我需要从 setxkbmap 列出要使用的所有有效布局/变体选择。
另外关于布局切换选项,有没有办法检索所有可用选项的列表(例如 grp:shift_caps_toggle ,...)
我知道与
setxkbmap -query
我检索当前的列表,但我需要完整的选项列表。
更新:
我已被告知该命令
man xkeyboard-config
它向命令行提供所有信息。
此外,使用
man -P cat xkeyboard-config
输出发送到 stdout,并且可以使用脚本或 C 代码进行解析
答案1
看一眼localectl
,特别是以下选项:
localectl list-x11-keymap-layouts
- 为您提供布局(现代系统上约为 100 个)localectl list-x11-keymap-variants de
为您提供此布局的变体(如果未指定布局,则为所有变体,在现代系统上约为 300)localectl list-x11-keymap-options | grep grp:
- 为您提供所有布局切换选项
答案2
尝试按照 setxkbmap 手册页中的说明查找 /usr/share/X11/xkb/symbols。这些选项可以在各种文件中找到,尝试执行grep -rinH alts_toggle /usr/share/X11/xkb
./usr/share/X11/xkb/rules/xorg.xml
看起来是个不错的选择。
答案3
您可以检索该文件 /usr/share/X11/xkb/rules/evdev.lst 中的列表
检索变体的示例sed
仅查找丹麦语变体
sed '/! variant/,/^$/!d;/Danish/!d' < /usr/share/X11/xkb/rules/evdev.lst
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)
编辑:我添加完整列表
! layout
us USA
ad Andorra
af Afghanistan
ara Arabic
al Albania
am Armenia
az Azerbaijan
by Belarus
be Belgium
bd Bangladesh
in India
ba Bosnia and Herzegovina
br Brazil
bg Bulgaria
ma Morocco
mm Myanmar
ca Canada
cd Congo, Democratic Republic of the
cn China
hr Croatia
cz Czechia
dk Denmark
nl Netherlands
bt Bhutan
ee Estonia
ir Iran
iq Iraq
fo Faroe Islands
fi Finland
fr France
gh Ghana
gn Guinea
ge Georgia
de Germany
gr Greece
hu Hungary
is Iceland
il Israel
it Italy
jp Japan
kg Kyrgyzstan
kh Cambodia
kz Kazakhstan
la Laos
latam Latin American
lt Lithuania
lv Latvia
mao Maori
me Montenegro
mk Macedonia
mt Malta
mn Mongolia
no Norway
pl Poland
pt Portugal
ro Romania
ru Russia
rs Serbia
si Slovenia
sk Slovakia
es Spain
se Sweden
ch Switzerland
sy Syria
tj Tajikistan
lk Sri Lanka
th Thailand
tr Turkey
tw Taiwan
ua Ukraine
gb United Kingdom
uz Uzbekistan
vn Vietnam
kr Korea, Republic of
nec_vndr/jp Japan (PC-98xx Series)
ie Ireland
pk Pakistan
mv Maldives
za South Africa
epo Esperanto
np Nepal
ng Nigeria
et Ethiopia
sn Senegal
brai Braille
tm Turkmenistan
ml Mali
tz Tanzania
! variant
chr us: Cherokee
euro us: With EuroSign on 5
intl us: International (with dead keys)
alt-intl us: Alternative international (former us_intl)
colemak us: Colemak
dvorak us: Dvorak
dvorak-intl us: Dvorak international
dvorak-l us: Left handed Dvorak
dvorak-r us: Right handed Dvorak
dvorak-classic us: Classic Dvorak
dvp us: Programmer Dvorak
rus us: Russian phonetic
mac us: Macintosh
altgr-intl us: International (AltGr dead keys)
olpc2 us: Group toggle on multiply/divide key
srp us: Serbian
ps af: Pashto
uz af: Southern Uzbek
olpc-ps af: OLPC Pashto
olpc-fa af: OLPC Dari
olpc-uz af: OLPC Southern Uzbek
azerty ara: azerty
azerty_digits ara: azerty/digits
digits ara: digits
qwerty ara: qwerty
qwerty_digits ara: qwerty/digits
buckwalter ara: Buckwalter
phonetic am: Phonetic
phonetic-alt am: Alternative Phonetic
eastern am: Eastern
western am: Western
eastern-alt am: Alternative Eastern
cyrillic az: Cyrillic
legacy by: Legacy
latin by: Latin
oss be: Alternative
oss_latin9 be: Alternative, latin-9 only
oss_sundeadkeys be: Alternative, Sun dead keys
iso-alternate be: ISO Alternate
nodeadkeys be: Eliminate dead keys
sundeadkeys be: Sun dead keys
wang be: Wang model 724 azerty
probhat bd: Probhat
ben in: Bengali
ben_probhat in: Bengali Probhat
guj in: Gujarati
guru in: Gurmukhi
jhelum in: Gurmukhi Jhelum
kan in: Kannada
mal in: Malayalam
mal_lalitha in: Malayalam Lalitha
ori in: Oriya
tam_unicode in: Tamil Unicode
tam_keyboard_with_numerals in: Tamil Keyboard with Numerals
tam_TAB in: Tamil TAB Typewriter
tam_TSCII in: Tamil TSCII Typewriter
tam in: Tamil
tel in: Telugu
urd-phonetic in: Urdu, Phonetic
urd-phonetic3 in: Urdu, Alternative phonetic
urd-winkeys in: Urdu, Winkeys
bolnagri in: Hindi Bolnagri
hin-wx in: Hindi Wx
alternatequotes ba: Use guillemets for quotes
unicode ba: Use Bosnian digraphs
unicodeus ba: US keyboard with Bosnian digraphs
us ba: US keyboard with Bosnian letters
nodeadkeys br: Eliminate dead keys
dvorak br: Dvorak
nativo br: Nativo
nativo-us br: Nativo for USA keyboards
nativo-epo br: Nativo for Esperanto
phonetic bg: Traditional phonetic
bas_phonetic bg: New phonetic
french ma: French
tifinagh ma: Tifinagh
tifinagh-alt ma: Tifinagh Alternative
tifinagh-alt-phonetic ma: Tifinagh Alternative Phonetic
tifinagh-extended ma: Tifinagh Extended
tifinagh-phonetic ma: Tifinagh Phonetic
tifinagh-extended-phonetic ma: Tifinagh Extended Phonetic
fr-dvorak ca: French Dvorak
fr-legacy ca: French (legacy)
multix ca: Multilingual
multi ca: Multilingual, first part
multi-2gr ca: Multilingual, second part
ike ca: Inuktitut
shs ca: Secwepemctsin
kut ca: Ktunaxa
eng ca: English
tib cn: Tibetan
tib_asciinum cn: Tibetan (with ASCII numerals)
alternatequotes hr: Use guillemets for quotes
unicode hr: Use Croatian digraphs
unicodeus hr: US keyboard with Croatian digraphs
us hr: US keyboard with Croatian letters
bksl cz: With <\|> key
qwerty cz: qwerty
qwerty_bksl cz: qwerty, extended Backslash
ucw cz: UCW layout (accented letters only)
dvorak-ucw cz: US Dvorak with CZ UCW support
nodeadkeys dk: Eliminate dead keys
mac dk: Macintosh
mac_nodeadkeys dk: Macintosh, eliminate dead keys
dvorak dk: Dvorak
sundeadkeys nl: Sun dead keys
mac nl: Macintosh
std nl: Standard
nodeadkeys ee: Eliminate dead keys
dvorak ee: Dvorak
us ee: US keyboard with Estonian letters
pes_keypad ir: Persian, with Persian Keypad
ku ir: Kurdish, Latin Q
ku_f ir: Kurdish, (F)
ku_alt ir: Kurdish, Latin Alt-Q
ku_ara ir: Kurdish, Arabic-Latin
ku iq: Kurdish, Latin Q
ku_f iq: Kurdish, (F)
ku_alt iq: Kurdish, Latin Alt-Q
ku_ara iq: Kurdish, Arabic-Latin
nodeadkeys fo: Eliminate dead keys
nodeadkeys fi: Eliminate dead keys
smi fi: Northern Saami
classic fi: Classic
mac fi: Macintosh
nodeadkeys fr: Eliminate dead keys
sundeadkeys fr: Sun dead keys
oss fr: Alternative
oss_latin9 fr: Alternative, latin-9 only
oss_nodeadkeys fr: Alternative, eliminate dead keys
oss_sundeadkeys fr: Alternative, Sun dead keys
latin9 fr: (Legacy) Alternative
latin9_nodeadkeys fr: (Legacy) Alternative, eliminate dead keys
latin9_sundeadkeys fr: (Legacy) Alternative, Sun dead keys
bepo fr: Bepo, ergonomic, Dvorak way
bepo_latin9 fr: Bepo, ergonomic, Dvorak way, latin-9 only
dvorak fr: Dvorak
mac fr: Macintosh
bre fr: Breton
oci fr: Occitan
geo fr: Georgian AZERTY Tskapo
generic gh: Multilingual
akan gh: Akan
ewe gh: Ewe
fula gh: Fula
ga gh: Ga
hausa gh: Hausa
ergonomic ge: Ergonomic
mess ge: MESS
ru ge: Russian
os ge: Ossetian
deadacute de: Dead acute
deadgraveacute de: Dead grave acute
nodeadkeys de: Eliminate dead keys
ro de: Romanian keyboard with German letters
ro_nodeadkeys de: Romanian keyboard with German letters, eliminate dead keys
dvorak de: Dvorak
sundeadkeys de: Sun dead keys
neo de: Neo 2
mac de: Macintosh
mac_nodeadkeys de: Macintosh, eliminate dead keys
dsb de: Lower Sorbian
dsb_qwertz de: Lower Sorbian (qwertz)
qwerty de: qwerty
simple gr: Simple
extended gr: Extended
nodeadkeys gr: Eliminate dead keys
polytonic gr: Polytonic
standard hu: Standard
nodeadkeys hu: Eliminate dead keys
qwerty hu: qwerty
101_qwertz_comma_dead hu: 101/qwertz/comma/Dead keys
101_qwertz_comma_nodead hu: 101/qwertz/comma/Eliminate dead keys
101_qwertz_dot_dead hu: 101/qwertz/dot/Dead keys
101_qwertz_dot_nodead hu: 101/qwertz/dot/Eliminate dead keys
101_qwerty_comma_dead hu: 101/qwerty/comma/Dead keys
101_qwerty_comma_nodead hu: 101/qwerty/comma/Eliminate dead keys
101_qwerty_dot_dead hu: 101/qwerty/dot/Dead keys
101_qwerty_dot_nodead hu: 101/qwerty/dot/Eliminate dead keys
102_qwertz_comma_dead hu: 102/qwertz/comma/Dead keys
102_qwertz_comma_nodead hu: 102/qwertz/comma/Eliminate dead keys
102_qwertz_dot_dead hu: 102/qwertz/dot/Dead keys
102_qwertz_dot_nodead hu: 102/qwertz/dot/Eliminate dead keys
102_qwerty_comma_dead hu: 102/qwerty/comma/Dead keys
102_qwerty_comma_nodead hu: 102/qwerty/comma/Eliminate dead keys
102_qwerty_dot_dead hu: 102/qwerty/dot/Dead keys
102_qwerty_dot_nodead hu: 102/qwerty/dot/Eliminate dead keys
Sundeadkeys is: Sun dead keys
nodeadkeys is: Eliminate dead keys
mac is: Macintosh
dvorak is: Dvorak
lyx il: lyx
phonetic il: Phonetic
biblical il: Biblical Hebrew (Tiro)
nodeadkeys it: Eliminate dead keys
mac it: Macintosh
us it: US keyboard with Italian letters
geo it: Georgian
kana jp: Kana
OADG109A jp: OADG 109A
mac jp: Macintosh
phonetic kg: Phonetic
ruskaz kz: Russian with Kazakh
kazrus kz: Kazakh with Russian
basic la: Laos
stea la: Laos - STEA (proposed standard layout)
nodeadkeys latam: Eliminate dead keys
deadtilde latam: Include dead tilde
sundeadkeys latam: Sun dead keys
std lt: Standard
us lt: US keyboard with Lithuanian letters
ibm lt: IBM (LST 1205-92)
lekp lt: LEKP
lekpa lt: LEKPa
apostrophe lv: Apostrophe (') variant
tilde lv: Tilde (~) variant
fkey lv: F-letter (F) variant
cyrillic me: Cyrillic
cyrillicyz me: Cyrillic, Z and ZHE swapped
latinunicode me: Latin unicode
latinyz me: Latin qwerty
latinunicodeyz me: Latin unicode qwerty
cyrillicalternatequotes me: Cyrillic with guillemets
latinalternatequotes me: Latin with guillemets
nodeadkeys mk: Eliminate dead keys
us mt: Maltese keyboard with US layout
nodeadkeys no: Eliminate dead keys
dvorak no: Dvorak
smi no: Northern Saami
smi_nodeadkeys no: Northern Saami, eliminate dead keys
mac no: Macintosh
mac_nodeadkeys no: Macintosh, eliminate dead keys
qwertz pl: qwertz
dvorak pl: Dvorak
dvorak_quotes pl: Dvorak, Polish quotes on quotemark key
dvorak_altquotes pl: Dvorak, Polish quotes on key 1
csb pl: Kashubian
ru_phonetic_dvorak pl: Russian phonetic Dvorak
dvp pl: Programmer Dvorak
nodeadkeys pt: Eliminate dead keys
sundeadkeys pt: Sun dead keys
mac pt: Macintosh
mac_nodeadkeys pt: Macintosh, eliminate dead keys
mac_sundeadkeys pt: Macintosh, Sun dead keys
nativo pt: Nativo
nativo-us pt: Nativo for USA keyboards
nativo-epo pt: Nativo for Esperanto
cedilla ro: Cedilla
std ro: Standard
std_cedilla ro: Standard (Cedilla)
winkeys ro: Winkeys
crh_f ro: Crimean Tatar (Turkish F)
crh_alt ro: Crimean Tatar (Turkish Alt-Q)
crh_dobruca1 ro: Crimean Tatar (Dobruca-1 Q)
crh_dobruca2 ro: Crimean Tatar (Dobruca-2 Q)
phonetic ru: Phonetic
phonetic_winkeys ru: Phonetic Winkeys
typewriter ru: Typewriter
legacy ru: Legacy
typewriter-legacy ru: 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: DOS
srp ru: Serbian
bak ru: Bashkirian
yz rs: Z and ZHE swapped
latin rs: Latin
latinunicode rs: Latin Unicode
latinyz rs: Latin qwerty
latinunicodeyz rs: Latin Unicode qwerty
alternatequotes rs: With guillemets
latinalternatequotes rs: Latin with guillemets
alternatequotes si: Use guillemets for quotes
us si: US keyboard with Slovenian letters
bksl sk: Extended Backslash
qwerty sk: qwerty
qwerty_bksl sk: qwerty, extended Backslash
nodeadkeys es: Eliminate dead keys
deadtilde es: Include dead tilde
sundeadkeys es: Sun dead keys
dvorak es: Dvorak
ast es: Asturian variant with bottom-dot H and bottom-dot L
cat es: Catalan variant with middle-dot L
mac es: Macintosh
nodeadkeys se: Eliminate dead keys
dvorak se: Dvorak
rus se: Russian phonetic
rus_nodeadkeys se: Russian phonetic, eliminate dead keys
smi se: Northern Saami
mac se: Macintosh
svdvorak se: Svdvorak
legacy ch: Legacy
de_nodeadkeys ch: German, eliminate dead keys
de_sundeadkeys ch: German, Sun dead keys
fr ch: French
fr_nodeadkeys ch: French, eliminate dead keys
fr_sundeadkeys ch: French, Sun dead keys
fr_mac ch: French (Macintosh)
de_mac ch: German (Macintosh)
syc sy: Syriac
syc_phonetic sy: Syriac phonetic
ku sy: Kurdish, Latin Q
ku_f sy: Kurdish, (F)
ku_alt sy: Kurdish, Latin Alt-Q
legacy tj: Legacy
tam_unicode lk: Tamil Unicode
tam_TAB lk: Tamil TAB Typewriter
tis th: TIS-820.2538
pat th: Pattachote
f tr: (F)
alt tr: Alt-Q
sundeadkeys tr: Sun dead keys
ku tr: Kurdish, Latin Q
ku_f tr: Kurdish, (F)
ku_alt tr: Kurdish, Latin Alt-Q
intl tr: 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: Indigenous
saisiyat tw: Saisiyat
phonetic ua: Phonetic
typewriter ua: Typewriter
winkeys ua: Winkeys
legacy ua: Legacy
rstu ua: Standard RSTU
rstu_ru ua: Standard RSTU on Russian layout
homophonic ua: Homophonic
crh ua: Crimean Tatar (Turkish Q)
crh_f ua: Crimean Tatar (Turkish F)
crh_alt ua: Crimean Tatar (Turkish Alt-Q)
extd gb: Extended - Winkeys
intl gb: International (with dead keys)
dvorak gb: Dvorak
dvorakukp gb: Dvorak (UK Punctuation)
mac gb: Macintosh
colemak gb: Colemak
latin uz: Latin
crh uz: Crimean Tatar (Turkish Q)
crh_f uz: Crimean Tatar (Turkish F)
crh_alt uz: Crimean Tatar (Turkish Alt-Q)
kr104 kr: 101/104 key Compatible
CloGaelach ie: CloGaelach
UnicodeExpert ie: UnicodeExpert
ogam ie: Ogham
ogam_is434 ie: Ogham IS434
urd-crulp pk: CRULP
urd-nla pk: NLA
ara pk: Arabic
legacy epo: displaced semicolon and quote (obsolete)
igbo ng: Igbo
yoruba ng: Yoruba
hausa ng: Hausa
left_hand brai: Left hand
right_hand brai: Right hand
alt tm: Alt-Q
fr-oss ml: Français (France Alternative)
us-mac ml: English (USA Macintosh)
us-intl ml: English (USA International)
答案4
选项列在 中man xkeyboard-config
。
(从OP的编辑复制)