aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xwin/winlayouts.h
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/hw/xwin/winlayouts.h')
-rw-r--r--xorg-server/hw/xwin/winlayouts.h366
1 files changed, 93 insertions, 273 deletions
diff --git a/xorg-server/hw/xwin/winlayouts.h b/xorg-server/hw/xwin/winlayouts.h
index d1d21a12d..3cbc91244 100644
--- a/xorg-server/hw/xwin/winlayouts.h
+++ b/xorg-server/hw/xwin/winlayouts.h
@@ -1,273 +1,93 @@
-/*
- * Copyright (c) 2005 Alexander Gottwald
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the name(s) of the above copyright
- * holders shall not be used in advertising or otherwise to promote the sale,
- * use or other dealings in this Software without prior written authorization.
- */
-/* Definitions for various keyboard layouts from windows and their
- * XKB settings.
- */
-
-typedef struct
-{
- unsigned int winlayout;
- int winkbtype;
- char *xkbmodel;
- char *xkblayout;
- char *xkbvariant;
- char *xkboptions;
- char *layoutname;
-} WinKBLayoutRec, *WinKBLayoutPtr;
-
-/*
- This table is sorted by low byte of winlayout, then by next byte, etc.
-*/
-
-WinKBLayoutRec winKBLayouts[] =
-{
- { 0x404, -1, "pc105", "zh_TW", NULL, NULL, "Chinese (Taiwan)"},
- { 0x405, -1, "pc105", "cz", NULL, NULL, "Czech"},
- {0x10405, -1, "pc105", "cz_qwerty", NULL, NULL, "Czech (QWERTY)"},
- { 0x406, -1, "pc105", "dk", NULL, NULL, "Danish"},
- { 0x407, -1, "pc105", "de", NULL, NULL, "German (Germany)"},
- {0x10407, -1, "pc105", "de", NULL, NULL, "German (Germany, IBM)"},
- { 0x807, -1, "pc105", "ch", "de", NULL, "German (Switzerland)"},
- { 0x409, -1, "pc105", "us", NULL, NULL, "English (USA)"},
- {0x10409, -1, "pc105", "dvorak", NULL, NULL, "English (USA, Dvorak)"},
- {0x20409, -1, "pc105", "us_intl", NULL, NULL, "English (USA, International)"},
- { 0x809, -1, "pc105", "gb", NULL, NULL, "English (United Kingdom)"},
- { 0x1809, -1, "pc105", "ie", NULL, NULL, "Irish"},
- { 0x40a, -1, "pc105", "es", NULL, NULL, "Spanish (Spain, Traditional Sort)"},
- { 0x80a, -1, "pc105", "latam", NULL, NULL, "Latin American"},
- { 0x40b, -1, "pc105", "fi", NULL, NULL, "Finnish"},
- { 0x40c, -1, "pc105", "fr", NULL, NULL, "French (Standard)"},
- { 0x80c, -1, "pc105", "be", NULL, NULL, "French (Belgian)"},
- { 0xc0c, -1, "pc105", "ca", "fr", NULL, "French (Canada)"},
- { 0x100c, -1, "pc105", "ch", "fr", NULL, "French (Switzerland)"},
- { 0x40d, -1, "pc105", "il", NULL, NULL, "Hebrew"},
- { 0x40e, -1, "pc105", "hu", NULL, NULL, "Hungarian"},
- { 0x40f, -1, "pc105", "is", NULL, NULL, "Icelandic"},
- { 0x410, -1, "pc105", "it", NULL, NULL, "Italian"},
- {0x10410, -1, "pc105", "it", NULL, NULL, "Italian (142)"},
- {0xa0000410,-1, "macbook79","it", "mac",NULL, "Italiano (Apple)"},
- { 0x411, 7, "jp106", "jp", NULL, NULL, "Japanese"},
- { 0x413, -1, "pc105", "nl", NULL, NULL, "Dutch"},
- { 0x813, -1, "pc105", "be", NULL, NULL, "Dutch (Belgian)"},
- { 0x414, -1, "pc105", "no", NULL, NULL, "Norwegian"},
- { 0x415, -1, "pc105", "pl", NULL, NULL, "Polish (Programmers)"},
- { 0x416, -1, "pc105", "br", NULL, NULL, "Portuguese (Brazil, ABNT)"},
- {0x10416, -1, "abnt2", "br", NULL, NULL, "Portuguese (Brazil, ABNT2)"},
- { 0x816, -1, "pc105", "pt", NULL, NULL, "Portuguese (Portugal)"},
- { 0x41a, -1, "pc105", "hr", NULL, NULL, "Croatian"},
- { 0x41d, -1, "pc105", "se", NULL, NULL, "Swedish (Sweden)"},
- { 0x424, -1, "pc105", "si", NULL, NULL, "Slovenian"},
- { 0x425, -1, "pc105", "ee", NULL, NULL, "Estonian"},
- { 0x452, -1, "pc105", "gb", "intl", NULL, "United Kingdom (Extended)"},
- { -1, -1, NULL, NULL, NULL, NULL, NULL}
-};
-
-/* Listing of language codes from MSDN */
-/*
-Support ID XKB Language
-====================================================================
- ? 0x0000 Language Neutral
- ? 0x0400 Process or User Default Language
- ? 0x0800 System Default Language
- 0x0401 Arabic (Saudi Arabia)
- 0x0801 Arabic (Iraq)
- 0x0c01 Arabic (Egypt)
- 0x1001 Arabic (Libya)
- 0x1401 Arabic (Algeria)
- 0x1801 Arabic (Morocco)
- 0x1c01 Arabic (Tunisia)
- 0x2001 Arabic (Oman)
- 0x2401 Arabic (Yemen)
- 0x2801 Arabic (Syria)
- 0x2c01 Arabic (Jordan)
- 0x3001 Arabic (Lebanon)
- 0x3401 Arabic (Kuwait)
- 0x3801 Arabic (U.A.E.)
- 0x3c01 Arabic (Bahrain)
- 0x4001 Arabic (Qatar)
- Arabic (102) AZERTY
- 0x0402 Bulgarian
- 0x0403 Catalan
- 0x0404 Chinese (Taiwan)
- 0x0804 Chinese (PRC)
- 0x0c04 Chinese (Hong Kong SAR, PRC)
- 0x1004 Chinese (Singapore)
- 0x1404 Chinese (Macao SAR) (98/ME,2K/XP)
- X 0x0405 cz Czech
- X cz_qwerty Czech (QWERTY)
- Czech (Programmers)
- X 0x0406 dk Danish
- X 0x0407 de German (Standard)
- X 0x0807 de_CH German (Switzerland)
- 0x0c07 German (Austria)
- 0x1007 German (Luxembourg)
- 0x1407 German (Liechtenstein)
- 0x0408 Greek
- X 0x0409 us English (United States)
- X 0x0809 gb English (United Kingdom)
- 0x0c09 English (Australian)
- 0x1009 English (Canadian)
- 0x1409 English (New Zealand)
- X 0x1809 ie English (Ireland)
- 0x1c09 English (South Africa)
- 0x2009 English (Jamaica)
- 0x2409 English (Caribbean)
- 0x2809 English (Belize)
- 0x2c09 English (Trinidad)
- 0x3009 English (Zimbabwe) (98/ME,2K/XP)
- 0x3409 English (Philippines) (98/ME,2K/XP)
- X 0x040a es Spanish (Spain, Traditional Sort)
- 0x080a Spanish (Mexican)
- 0x0c0a Spanish (Spain, Modern Sort)
- 0x100a Spanish (Guatemala)
- 0x140a Spanish (Costa Rica)
- 0x180a Spanish (Panama)
- 0x1c0a Spanish (Dominican Republic)
- 0x200a Spanish (Venezuela)
- 0x240a Spanish (Colombia)
- 0x280a Spanish (Peru)
- 0x2c0a Spanish (Argentina)
- 0x300a Spanish (Ecuador)
- 0x340a Spanish (Chile)
- 0x380a Spanish (Uruguay)
- 0x3c0a Spanish (Paraguay)
- 0x400a Spanish (Bolivia)
- 0x440a Spanish (El Salvador)
- 0x480a Spanish (Honduras)
- 0x4c0a Spanish (Nicaragua)
- 0x500a Spanish (Puerto Rico)
- X 0x040b fi Finnish
- Finnish (with Sami)
- X 0x040c fr French (Standard)
- X 0x080c be French (Belgian)
- . 0x0c0c French (Canadian)
- French (Canadian, Legacy)
- Canadian (Multilingual)
- X 0x100c fr_CH French (Switzerland)
- 0x140c French (Luxembourg)
- 0x180c French (Monaco) (98/ME,2K/XP)
- 0x040d Hebrew
- X 0x040e hu Hungarian
- . 0x040f Icelandic
- X 0x0410 it Italian (Standard)
- 0x0810 Italian (Switzerland)
- X 0x0411 jp Japanese
- 0x0412 Korean
- 0x0812 Korean (Johab) (95,NT)
- . 0x0413 Dutch (Netherlands)
- X 0x0813 be Dutch (Belgium)
- X 0x0414 no Norwegian (Bokmal)
- 0x0814 Norwegian (Nynorsk)
- . 0x0415 Polish
- X 0x0416 br Portuguese (Brazil)
- X 0x0816 pt Portuguese (Portugal)
- . 0x0418 Romanian
- 0x0419 Russian
- . 0x041a Croatian
- . 0x081a Serbian (Latin)
- . 0x0c1a Serbian (Cyrillic)
- 0x101a Croatian (Bosnia and Herzegovina)
- 0x141a Bosnian (Bosnia and Herzegovina)
- 0x181a Serbian (Latin, Bosnia, and Herzegovina)
- 0x1c1a Serbian (Cyrillic, Bosnia, and Herzegovina)
- . 0x041b Slovak
- . 0x041c Albanian
- X 0x041d se Swedish
- 0x081d Swedish (Finland)
- 0x041e Thai
- 0x041f Turkish
- 0x0420 Urdu (Pakistan) (98/ME,2K/XP)
- 0x0820 Urdu (India)
- 0x0421 Indonesian
- 0x0422 Ukrainian
- 0x0423 Belarusian
- . 0x0424 Slovenian
- 0x0425 Estonian
- 0x0426 Latvian
- 0x0427 Lithuanian
- 0x0827 Lithuanian (Classic) (98)
- 0x0429 Farsi
- 0x042a Vietnamese (98/ME,NT,2K/XP)
- 0x042b Armenian. This is Unicode only. (2K/XP)
- Armenian Eastern
- Armenian Western
- 0x042c Azeri (Latin)
- 0x082c Azeri (Cyrillic)
- 0x042d Basque
- 0x042f Macedonian (FYROM)
- 0x0430 Sutu
- 0x0432 Setswana/Tswana (South Africa)
- 0x0434 isiXhosa/Xhosa (South Africa)
- 0x0435 isiZulu/Zulu (South Africa)
- 0x0436 Afrikaans
- 0x0437 Georgian. This is Unicode only. (2K/XP)
- . 0x0438 Faeroese
- 0x0439 Hindi. This is Unicode only. (2K/XP)
- 0x043a Maltese (Malta)
- 0x043b Sami, Northern (Norway)
- 0x083b Sami, Northern (Sweden)
- 0x0c3b Sami, Northern (Finland)
- 0x103b Sami, Lule (Norway)
- 0x143b Sami, Lule (Sweden)
- 0x183b Sami, Southern (Norway)
- 0x1c3b Sami, Southern (Sweden)
- 0x203b Sami, Skolt (Finland)
- 0x243b Sami, Inari (Finland)
- 0x043e Malay (Malaysian)
- 0x083e Malay (Brunei Darussalam)
- 0x0440 Kyrgyz. (XP)
- 0x0441 Swahili (Kenya)
- 0x0443 Uzbek (Latin)
- 0x0843 Uzbek (Cyrillic)
- 0x0444 Tatar (Tatarstan)
- 0x0445 Bengali (India)
- Bengali (Inscript)
- 0x0446 Punjabi. This is Unicode only. (XP)
- 0x0447 Gujarati. This is Unicode only. (XP)
- 0x0449 Tamil. This is Unicode only. (2K/XP)
- 0x044a Telugu. This is Unicode only. (XP)
- 0x044b Kannada. This is Unicode only. (XP)
- 0x044c Malayalam (India)
- 0x044e Marathi. This is Unicode only. (2K/XP)
- 0x044f Sanskrit. This is Unicode only. (2K/XP)
- 0x0450 Mongolian (XP)
- 0x0452 Welsh (United Kingdom)
- 0x0455 Burmese
- 0x0456 Galician (XP)
- 0x0457 Konkani. This is Unicode only. (2K/XP)
- 0x045a Syriac. This is Unicode only. (XP)
- 0x0465 Divehi. This is Unicode only. (XP)
- Divehi (Phonetic)
- Divehi (Typewriter)
- 0x046b Quechua (Bolivia)
- 0x086b Quechua (Ecuador)
- 0x0c6b Quechua (Peru)
- 0x046c Sesotho sa Leboa/Northern Sotho (South Africa)
- 0x007f LOCALE_INVARIANT. See MAKELCID.
- 0x0481 Maori (New Zealand)
-*/
-
-
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+/* Definitions for various keyboard layouts from windows and their
+ * XKB settings.
+ */
+
+typedef struct
+{
+ unsigned int winlayout;
+ int winkbtype;
+ char *xkbmodel;
+ char *xkblayout;
+ char *xkbvariant;
+ char *xkboptions;
+ char *layoutname;
+} WinKBLayoutRec, *WinKBLayoutPtr;
+
+/*
+ This table is sorted by low byte of winlayout, then by next byte, etc.
+*/
+
+WinKBLayoutRec winKBLayouts[] =
+{
+ { 0x00000404, -1, "pc105", "zh_TW", NULL, NULL, "Chinese (Taiwan)"},
+ { 0x00000405, -1, "pc105", "cz", NULL, NULL, "Czech"},
+ { 0x00010405, -1, "pc105", "cz_qwerty", NULL, NULL, "Czech (QWERTY)"},
+ { 0x00000406, -1, "pc105", "dk", NULL, NULL, "Danish"},
+ { 0x00000407, -1, "pc105", "de", NULL, NULL, "German (Germany)"},
+ { 0x00010407, -1, "pc105", "de", NULL, NULL, "German (Germany,IBM)"},
+ { 0x00000807, -1, "pc105", "ch", "de", NULL, "German (Switzerland)"},
+ { 0x00000409, -1, "pc105", "us", NULL, NULL, "English (USA)"},
+ { 0x00010409, -1, "pc105", "dvorak", NULL, NULL, "English (USA,Dvorak)"},
+ { 0x00020409, -1, "pc105", "us_intl", NULL, NULL, "English (USA,International)"},
+ { 0x00000809, -1, "pc105", "gb", NULL, NULL, "English (United Kingdom)"},
+ { 0x00001809, -1, "pc105", "ie", NULL, NULL, "Irish"},
+ { 0x0000040a, -1, "pc105", "es", NULL, NULL, "Spanish (Spain,Traditional Sort)"},
+ { 0x0000080a, -1, "pc105", "latam", NULL, NULL, "Latin American"},
+ { 0x0000040b, -1, "pc105", "fi", NULL, NULL, "Finnish"},
+ { 0x0000040c, -1, "pc105", "fr", NULL, NULL, "French (Standard)"},
+ { 0x0000080c, -1, "pc105", "be", NULL, NULL, "French (Belgian)"},
+ { 0x00000c0c, -1, "pc105", "ca", "fr", NULL, "French (Canada)"},
+ { 0x0000100c, -1, "pc105", "ch", "fr", NULL, "French (Switzerland)"},
+ { 0x0000040d, -1, "pc105", "il", NULL, NULL, "Hebrew"},
+ { 0x0000040e, -1, "pc105", "hu", NULL, NULL, "Hungarian"},
+ { 0x0000040f, -1, "pc105", "is", NULL, NULL, "Icelandic"},
+ { 0x00000410, -1, "pc105", "it", NULL, NULL, "Italian"},
+ { 0x00010410, -1, "pc105", "it", NULL, NULL, "Italian (142)"},
+ { 0xa0000410, -1, "macbook79", "it", "mac", NULL, "Italiano (Apple)"},
+ { 0x00000411, 7, "jp106", "jp", NULL, NULL, "Japanese"},
+ { 0x00000413, -1, "pc105", "nl", NULL, NULL, "Dutch"},
+ { 0x00000813, -1, "pc105", "be", NULL, NULL, "Dutch (Belgian)"},
+ { 0x00000414, -1, "pc105", "no", NULL, NULL, "Norwegian"},
+ { 0x00000415, -1, "pc105", "pl", NULL, NULL, "Polish (Programmers)"},
+ { 0x00000416, -1, "pc105", "br", NULL, NULL, "Portuguese (Brazil,ABNT)"},
+ { 0x00010416, -1, "abnt2", "br", NULL, NULL, "Portuguese (Brazil,ABNT2)"},
+ { 0x00000816, -1, "pc105", "pt", NULL, NULL, "Portuguese (Portugal)"},
+ { 0x0000041a, -1, "pc105", "hr", NULL, NULL, "Croatian"},
+ { 0x0000041d, -1, "pc105", "se", NULL, NULL, "Swedish (Sweden)"},
+ { 0x00000424, -1, "pc105", "si", NULL, NULL, "Slovenian"},
+ { 0x00000425, -1, "pc105", "ee", NULL, NULL, "Estonian"},
+ { 0x00000452, -1, "pc105", "gb", "intl", NULL, "United Kingdom (Extended)"},
+ { -1, -1, NULL, NULL, NULL, NULL, NULL}
+};
+
+/*
+ See http://technet.microsoft.com/en-us/library/cc766503%28WS.10%29.aspx
+ for a listing of input locale (keyboard layout) codes
+*/
+
+