-
Notifications
You must be signed in to change notification settings - Fork 57
EFI NVRAM
probonopd edited this page Nov 6, 2022
·
1 revision
macOS sets the EFI NVRAM variable 7c436110-ab2a-4bbb-a880-fe41995c9f82-prev-lang:kbd
to persist the keyboard layout across different boot volumes. In the interest of interoperability, other operating sysems may want use this information for preselecting a "best guess" xkbmap layout and locale.
EFI value | Nice Name | Equivalent xkbmap layout | xkbmap model |
country_LANG locale
|
---|---|---|---|---|
cs:30778 |
Czech-QWERTY | |||
cs:30776 |
Czech | |||
et:30764 |
Estonian | |||
hu:30767 |
Hungarian-QWERTY | |||
hu:30763 |
Hungarian | |||
lv:30765 |
Latvian | |||
lt:30761 |
Lithuanian | |||
pl:30788 |
Polish Pro | |||
pl:30762 |
Polish | |||
sk:30777 |
Slovak | |||
sk:30779 |
Slovak-QWERTY | |||
bg:19529 |
Bulgarian - Phonetic | |||
bg:19528 |
Bulgarian | |||
be:19517 |
Byelorussian | |||
mk:19523 |
Macedonian | |||
ru:19457 |
Russian - Phonetic | |||
ru:19456 |
Russian | |||
ru:19458 |
RussianWin | |||
sr-Cyrl:19521 |
Serbian | |||
uk:195138 |
Ukrainian-PC | |||
uk:19518 |
Ukrainian | |||
en:12825 |
Colemak | |||
en:16302 |
Dvorak - Left | |||
en:16303 |
Dvorak - Right | |||
en:16300 |
Dvorak | |||
en:16301 |
DVORAK - QWERTY CMD | |||
ja:16384 |
KANA | |||
fr:251 |
ABC-AZERTY | |||
de:253 |
ABC-QWERTZ | |||
en:252 |
ABC | |||
en_AU:15 |
Australian | |||
de_AT:92 |
Austrian | |||
nl_BE:6 |
Belgian | |||
pt_BR:128 |
Brazilian-ABNT2 | |||
pt_BR:72 |
Brazilian - Pro | |||
pt_BR:71 |
Brazilian | pt_BR | ||
en_GB:250 |
British-PC | |||
en_GB:2 |
British | en_GB | ||
fr_CA:80 |
Canadian - CSA | |||
en_CA:29 |
Canadian | |||
da:9 |
Danish | |||
nl:26 |
Dutch | |||
fi:17 |
Finnish | fi | ||
fr:60 |
French-PC | |||
fr:1111 |
French - numerical | |||
fr:1 |
French | fr | fr_FR | |
de:3 |
German | de | pc105 | de_DE |
en:50 |
Irish | |||
it:223 |
Italian - Pro | |||
it:4 |
Italian | it | it_IT | |
nb:12 |
Norwegian | nb | ||
pt_PT:10 |
Portuguese | pt_PT | ||
es:87 |
Spanish - ISO | |||
es:8 |
Spanish | es | ||
sv:7 |
Swedish - Pro | |||
sv:224 |
Swedish | se | ||
fr_CH:18 |
Swiss French | fr_CH | ||
de_CH:19 |
Swiss German | de_CH | ||
to:88 |
Tongan | |||
en_US:0 |
U.S | en_US | ||
en_US:15000 |
USInternational-PC | en_US | ||
ko:-17409 |
2SetHangul | |||
fa:-2902 |
Afghan Dari | |||
ps:-2904 |
Afghan Pashto | |||
uz-Arab:-2903 |
Afghan Uzbek | |||
ta:-20000 |
Anjal | |||
ar:-17940 |
Arabic-AZERTY | |||
ar:-17923 |
Arabic-North_Africa | |||
ar:-18000 |
Arabic-QWERTY | |||
ar:-17920 |
Arabic | |||
ar:-17921 |
Arabic PC | |||
hy:-28161 |
Armenian-HM QWERTY | |||
hy:-28164 |
Armenian-Western QWERTY | |||
az-Latn:-49 |
Azeri | |||
bn:-22529 |
Bangla-QWERTY | |||
bn:-22528 |
Bangla | |||
zh-Hant:-16899 |
CangjieKeyboard | |||
chr:-26112 |
Cherokee-Nation | |||
chr:-26113 |
Cherokee-QWERTY | |||
hr:-68 |
Croatian | |||
hr:-69 |
Croatian-PC | |||
hi:-20481 |
Devanagari-QWERTY | |||
hi:-20480 |
Devanagari | |||
fo:-47 |
Faroese | |||
fi:-17 |
Finnish Extended | |||
fi:-18 |
FinnishSami-PC | |||
ka:-27650 |
Georgian-QWERTY | |||
el:-18944 |
Greek | |||
el:-18945 |
Greek Polytonic | |||
gu:-21505 |
Gujarati-QWERTY | |||
gu:-21504 |
Gujarati | |||
pa:-20993 |
Gurmukhi-QWERTY | |||
pa:-20992 |
Gurmukhi | |||
haw:-50 |
Hawaiian | |||
he:-18500 |
Hebrew-QWERTY | |||
he:-18432 |
Hebrew | |||
he:-18433 |
Hebrew-PC | |||
is:-21 |
Icelandic | |||
iu:-30604 |
Inuktitut-Nunavut | |||
iu:-30602 |
Inuktitut-Nutaaq | |||
iu:-30600 |
Inuktitut-QWERTY | |||
iu:-30603 |
Inuttitut Nunavik | |||
ga:-500 |
Irish Extended | |||
ms-Arab:-19000 |
Jawi-QWERTY | |||
kn:-24065 |
Kannada-QWERTY | |||
kn:-24064 |
Kannada | |||
kk:-19501 |
Kazakh | |||
km:-26114 |
Khmer | |||
ckb:-17926 |
Kurdish-Sorani | |||
ml:-24577 |
Malayalam-QWERTY | |||
ml:-24576 |
Malayalam | |||
mt:-501 |
Maltese | |||
mi:-51 |
Maori | |||
my:-25601 |
Myanmar-QWERTY | |||
ne:-20484 |
Nepali | |||
se:-1200 |
Northern Sami | |||
nb:-12 |
Norwegian Extended | |||
nb:-13 |
NorwegianSami-PC | |||
or:-22017 |
Oriya-QWERTY | |||
or:-22016 |
Oriya | |||
fa:-1959 |
Persian-QWERTY | |||
fa:-17960 |
Persian | |||
fa:-2901 |
Persian-ISIRI 2901 | |||
ro:-38 |
Romanian-Standard | |||
ro:-39 |
Romanian | |||
se:-1201 |
Sami-PC | |||
sr-Latn:-19521 |
Serbian-Latin | |||
si:-25089 |
Sinhala-QWERTY | |||
si:-25088 |
Sinhala | |||
sl:-66 |
Slovenian | |||
sv:-15 |
SwedishSami-PC | |||
ta:-20001 |
Tamil99 | |||
te:-23553 |
Telugu-QWERTY | |||
te:-23552 |
Telugu | |||
th:-26626 |
Thai-PattaChote | |||
th:-26624 |
Thai | |||
bo:-26628 |
TibetanOtaniUS | |||
bo:-26625 |
Tibetan-QWERTY | |||
bo:-2398 |
Tibetan-Wylie | |||
tr:-36 |
Turkish-QWERTY-PC | |||
tr:-35 |
Turkish-QWERTY | |||
tr:-23 |
Turkish-Standard | |||
tr:-24 |
Turkish | |||
en:-2 |
US Extended | |||
<null>:-1 |
Unicode Hex Input | |||
ur:-17925 |
Urdu | |||
ug:-27000 |
Uyghur | |||
vi:-31232 |
Vietnamese | |||
cy:-790 |
Welsh | |||
zh-Hant:-16900 |
Zhuyin Bopomofo |
The following script was used to construct the table above.
import urllib.request
def print_some_url():
try:
with urllib.request.urlopen('https://raw.githubusercontent.com/acidanthera/OpenCorePkg/master/Utilities/AppleKeyboardLayouts/AppleKeyboardLayouts.txt') as f:
a_variable = f.read().decode('utf-8')
print(a_variable)
except urllib.error.URLError as e:
print(e.reason)
print("|EFI value|Nice Name|xkbmap layout|xkbmap model|")
print("|---|---|---|---|")
for line in a_variable.split("\n"):
if line.startswith("["):
parts = line.split(" ")
number = "".join(parts[0].replace("[", "").replace("]", "")).strip()
abbreviation = parts[1].strip()
description = " ".join(parts[3:10]).strip()
print("|`%s:%s`|%s||||" % (abbreviation, number, description))
# Press the green button in the gutter to run the script.
if __name__ == '__main__':
print_some_url()