PATCH: updated OLPC keyboard definitions
Bernardo Innocenti
bernie at codewiz.org
Fri Jul 13 02:26:22 PDT 2007
This is an update of the OLPC keyboard definitions, with the
AB11/I219 issue corrected and a few minor edits.
Index: compat/Makefile.am
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/compat/Makefile.am,v
retrieving revision 1.5
diff -u -p -u -p -r1.5 Makefile.am
--- compat/Makefile.am 17 Oct 2005 00:38:53 -0000 1.5
+++ compat/Makefile.am 13 Jul 2007 09:16:45 -0000
@@ -6,7 +6,7 @@ default iso9995 \
japan keypad ledcaps \
lednum ledscroll level5 \
misc mousekeys norepeat \
-pc pc98 xfree86 \
+olpc pc pc98 xfree86 \
xtest README
include $(top_srcdir)/xkbrules.am
Index: compat/olpc
===================================================================
RCS file: compat/olpc
diff -N compat/olpc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ compat/olpc 13 Jul 2007 09:16:45 -0000
@@ -0,0 +1,50 @@
+// Created by Bernardo Innocenti <bernie at codewiz.org>
+//
+// Map the OLPC game keys to virtual modifiers
+//
+
+default xkb_compatibility "olpc" {
+ include "complete"
+
+ virtual_modifiers Square,Cross,Triangle,Circle;
+
+ interpret KP_Home+Any {
+ //useModMapMods= level1;
+ virtualModifier= Square;
+ action = SetMods(modifiers=modMapMods);
+ };
+
+ interpret KP_Home {
+ action = SetMods(modifiers=Square);
+ };
+
+ interpret KP_Next+Any {
+ //useModMapMods= level1;
+ virtualModifier= Cross;
+ action = SetMods(modifiers=modMapMods);
+ };
+
+ interpret KP_Next {
+ action = SetMods(modifiers=Cross);
+ };
+
+ interpret KP_End+Any {
+ //useModMapMods= level1;
+ virtualModifier= Circle;
+ action = SetMods(modifiers=modMapMods);
+ };
+
+ interpret KP_End {
+ action = SetMods(modifiers=Circle);
+ };
+
+ interpret KP_Prior+Any {
+ //useModMapMods= level1;
+ virtualModifier= Triangle;
+ action = SetMods(modifiers=modMapMods);
+ };
+
+ interpret KP_Prior {
+ action = SetMods(modifiers=Triangle);
+ };
+};
Index: keycodes/Makefile.am
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/keycodes/Makefile.am,v
retrieving revision 1.6
diff -u -p -u -p -r1.6 Makefile.am
--- keycodes/Makefile.am 16 Oct 2006 19:04:52 -0000 1.6
+++ keycodes/Makefile.am 13 Jul 2007 09:16:45 -0000
@@ -11,6 +11,7 @@ fujitsu \
hp \
ibm \
macintosh \
+olpc \
sony \
sun \
xfree86 \
Index: keycodes/olpc
===================================================================
RCS file: keycodes/olpc
diff -N keycodes/olpc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ keycodes/olpc 13 Jul 2007 09:16:45 -0000
@@ -0,0 +1,11 @@
+// Created by Bernardo Innocenti <bernie at codewiz.org>
+//
+// Keys that are generated on the OLPC keyboard
+//
+
+xkb_keycodes "olpc" {
+ include "evdev"
+
+ // This is a placeholder for now
+ // We may want to add back the "analog" keys here
+};
Index: rules/base.lists.part
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/rules/base.lists.part,v
retrieving revision 1.38
diff -u -p -u -p -r1.38 base.lists.part
--- rules/base.lists.part 11 Jul 2007 23:17:59 -0000 1.38
+++ rules/base.lists.part 13 Jul 2007 09:16:45 -0000
@@ -14,6 +14,9 @@
// PC geometries - they have special geometry but symbols are mostly pc105
! $pcgeometries = abnt2 latitude jp106 kr106
+// Layouts that provide further specializations for the OLPC
+! $olpclayouts = ara br es et ru th tr tu ur us
+
! $macbooks = macbook78 macbook79
! $maclaptop = ibook powerbook macbook78 macbook79
! $macs = macintosh macintosh_old ibook powerbook macbook78 macbook79
Index: rules/base.m_k.part
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/rules/base.m_k.part,v
retrieving revision 1.10
diff -u -p -u -p -r1.10 base.m_k.part
--- rules/base.m_k.part 16 Oct 2006 19:04:52 -0000 1.10
+++ rules/base.m_k.part 13 Jul 2007 09:16:45 -0000
@@ -6,6 +6,7 @@
abnt2 = xfree86(abnt2)
jp106 = xfree86(jp106)
evdev = evdev
+ olpc = olpc
macintosh_old = macintosh(old)
$macbooks = macintosh+macintosh(badmap)
$macs = macintosh
Index: rules/base.ml_c.part
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/rules/base.ml_c.part,v
retrieving revision 1.6
diff -u -p -u -p -r1.6 base.ml_c.part
--- rules/base.ml_c.part 28 May 2006 19:54:04 -0000 1.6
+++ rules/base.ml_c.part 13 Jul 2007 09:16:45 -0000
@@ -1,3 +1,4 @@
pc98 nec_vndr/jp = pc98(basic)
* jp = complete+japan
+ olpc * = olpc
* * = complete
Index: rules/base.ml_s.part
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/rules/base.ml_s.part,v
retrieving revision 1.15
diff -u -p -u -p -r1.15 base.ml_s.part
--- rules/base.ml_s.part 20 Nov 2006 23:20:57 -0000 1.15
+++ rules/base.ml_s.part 13 Jul 2007 09:16:45 -0000
@@ -14,5 +14,7 @@
macintosh_old * = macintosh_vndr/us(oldmac)+%l%(v)
$macs en_US = pc+macintosh_vndr/us(extended)
$macs $macvendorlayouts = pc+macintosh_vndr/%l%(v)
- * $nonlatin = pc+us+%l%(v):2
+ olpc $olpclayouts = olpc+%l%(m)
+ olpc * = olpc+%l
+ * $nonlatin = pc+us+%l%(v):2
* * = pc+%l%(v)
Index: rules/base.xml.in
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/rules/base.xml.in,v
retrieving revision 1.194
diff -u -p -u -p -r1.194 base.xml.in
--- rules/base.xml.in 11 Jul 2007 23:17:59 -0000 1.194
+++ rules/base.xml.in 13 Jul 2007 09:16:45 -0000
@@ -924,6 +924,13 @@
</model>
<model>
<configItem>
+ <name>olpc</name>
+ <_description>OLPC keyboard</_description>
+ <vendor>OLPC</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
<name>benqx730</name>
<_description>BenQ X-Touch 730</_description>
<vendor>BenQ</vendor>
Index: rules/merge.sh
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/rules/merge.sh,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 merge.sh
--- rules/merge.sh 17 Sep 2006 20:03:34 -0000 1.4
+++ rules/merge.sh 13 Jul 2007 09:16:45 -0000
@@ -7,7 +7,8 @@ if [ -z "$HDR" ]; then
HDR="HDR"
fi
-> $DEST
+basename=`basename $0`
+echo "// DO NOT EDIT THIS FILE - IT WAS AUTOGENERATED BY $basename FROM rules/*.part" >$DEST
for i in $*; do
if [ "$i" == "$HDR" ] || [ "$i" == "HDR" ]; then
Index: symbols/Makefile.am
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/Makefile.am,v
retrieving revision 1.55
diff -u -p -u -p -r1.55 Makefile.am
--- symbols/Makefile.am 25 Jun 2007 21:39:09 -0000 1.55
+++ symbols/Makefile.am 13 Jul 2007 09:16:45 -0000
@@ -20,12 +20,12 @@ latam latin lk \
lt lv ma mao \
mk mm mn \
mt mv ng nl \
-no np pc pk \
+no np olpc pc pk \
pl pt ro \
ru se si \
sk sy th \
-tj tr ua \
-us uz vn \
+tj tr tu ua \
+us ur uz vn \
za \
altwin capslock compose ctrl group inet keypad level3 level5 nbsp srvr_ctrl \
eurosign
Index: symbols/ara
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/ara,v
retrieving revision 1.6
diff -u -p -u -p -r1.6 ara
--- symbols/ara 18 Sep 2006 13:25:31 -0000 1.6
+++ symbols/ara 13 Jul 2007 09:16:45 -0000
@@ -218,3 +218,59 @@ xkb_symbols "buckwalter" {
// End alphanumeric section
};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+ include "ara(basic)"
+ name[Group1]= "Arabic - OLPC";
+
+ // As part of the olpc design some changes were made to the Arabic
+ // keyboard design. Major changes are:
+ //
+ // * Removed the lam-alef single character. Poeple type as they
+ // pronounce, and lam-alef is just a visual formatting of the
+ // sequence and is not often used on the keyboard. It is
+ // similar to the Allah single character, which is also not on
+ // the keyboard.
+ // * Moved the following keys:
+ // o Thal from TLDE to AB05: Due to space limitation on the
+ // keybaord, but also accessibility
+ // o Shadda from TLDE to AD05
+ // * Placed currency letters on number keys and moved the ^ and &
+ // characters to lower keys (This change is worth revisiting
+ // before end of test period)
+
+ key <TLDE> { [ grave, asciitilde ] };
+
+ key <AE01> { [ 0x1000661, exclam ] };
+ key <AE02> { [ 0x1000662, at ] };
+ key <AE03> { [ 0x1000663, numbersign ] };
+ key <AE04> { [ 0x1000664, dollar ] };
+ key <AE05> { [ 0x1000665, percent ] };
+ key <AE06> { [ 0x1000666, sterling ] };
+ key <AE07> { [ 0x1000667, EuroSign ] };
+ key <AE08> { [ 0x1000668, asterisk ] };
+ key <AE09> { [ 0x1000669, parenleft ] };
+ key <AE10> { [ 0x1000660, parenright ] };
+
+ key <AD05> { [ Arabic_feh, Arabic_shadda ] };
+
+ key <AD08> { [ Arabic_heh, division ] };
+ key <AD11> { [ Arabic_jeem ] };
+ key <AD12> { [ Arabic_dal ] };
+
+ key <AC01> { [ Arabic_sheen, less ] };
+ key <AC02> { [ Arabic_seen, greater ] };
+ key <AC05> { [ Arabic_lam, ampersand ] };
+ key <AC10> { [ Arabic_kaf ] };
+ key <AC11> { [ Arabic_tah ] };
+
+ key <BKSL> { [ backslash, bar ] };
+
+
+ // REH isolated form?
+ key <AB04> { [ Arabic_ra, Arabic_kasratan ] };
+ key <AB05> { [ Arabic_thal, asciicircum ] };
+ // Language key
+ key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
+};
Index: symbols/br
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/br,v
retrieving revision 1.10
diff -u -p -u -p -r1.10 br
--- symbols/br 20 Nov 2006 19:18:02 -0000 1.10
+++ symbols/br 13 Jul 2007 09:16:45 -0000
@@ -63,3 +63,37 @@ xkb_symbols "nodeadkeys" {
key <AC11> { [asciitilde, asciicircum ] };
key <AB10> { [ semicolon, colon, dead_belowdot, abovedot ] };
};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+
+ include "us(basic)"
+
+ Name[Group1] = "Brazil - OLPC";
+
+ key <TLDE> { [ apostrophe, quotedbl ] };
+
+ key <AE01> { [ 1, exclam, onesuperior ] };
+ key <AE02> { [ 2, at, twosuperior ] };
+ key <AE03> { [ 3, numbersign, threesuperior ] };
+ key <AE04> { [ 4, dollar, sterling ] };
+ key <AE05> { [ 5, percent, cent ] };
+ key <AE06> { [ 6, dead_diaeresis, notsign ] };
+ key <AE12> { [ equal, plus, section ] };
+
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD11> { [ dead_acute, dead_grave ] };
+ key <AD12> { [ bracketleft, braceleft, 0x10000AA ] };
+
+ key <AC10> { [ ccedilla, Ccedilla ] };
+ key <AC11> { [ dead_tilde, dead_circumflex ] };
+ key <BKSL> { [ bracketright, braceright, 0x10000BA ] };
+
+ key <AB01> { [ z, Z, bar ] };
+ key <AB03> { [ c, C, 0x10020A2 ] };
+ key <AB09> { [ period, greater, backslash ] };
+ key <AB10> { [ semicolon, colon ] };
+
+ key <I219> { [ slash, question, degree, ISO_Next_Group ] };
+ include "level3(ralt_switch)"
+};
Index: symbols/es
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/es,v
retrieving revision 1.13
diff -u -p -u -p -r1.13 es
--- symbols/es 26 Jan 2007 23:02:18 -0000 1.13
+++ symbols/es 13 Jul 2007 09:16:45 -0000
@@ -146,5 +146,39 @@ xkb_symbols "mac" {
include "es"
name[Group1]= "Spain - Macintosh";
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+
+ include "us(basic)"
+
+ Name[Group1] = "Argentina - OLPC";
+
+ key <TLDE> { [ bar, degree ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, dead_grave, numbersign ] };
+ key <AE05> { [ 5, percent, dead_circumflex ] };
+ key <AE06> { [ 6, ampersand, notsign ] };
+ key <AE07> { [ 7, slash, backslash ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE11> { [ apostrophe, question ] };
+ key <AE12> { [ exclamdown, questiondown ] };
+
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD11> { [ dead_acute, dead_diaeresis ] };
+ key <AD12> { [ bracketleft, braceleft ] };
+
+ key <AC10> { [ ntilde, Ntilde ] };
+ key <AC11> { [ plus, asterisk, dead_tilde ] };
+ key <BKSL> { [ bracketright, braceright ] };
+
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <I219> { [ less, greater, ISO_Next_Group ] };
+ include "level3(ralt_switch)"
};
Index: symbols/inet
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/inet,v
retrieving revision 1.52
diff -u -p -u -p -r1.52 inet
--- symbols/inet 23 Apr 2007 22:09:07 -0000 1.52
+++ symbols/inet 13 Jul 2007 09:16:45 -0000
@@ -18,7 +18,7 @@
// setxkbmap 'my_kb_layout' -variant 'my_kb_variant' -model 'my_eak_type'
// All keyboards listed here should be also mentioned in
-// xc/programs/xkbcomp/rules/xfree86, xfree86.lst and xfree86.xml.
+// rules/base, base.lst and base.xml.
// Evdev Standardized Keycodes
partial alphanumeric_keys
Index: symbols/olpc
===================================================================
RCS file: symbols/olpc
diff -N symbols/olpc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ symbols/olpc 13 Jul 2007 09:16:45 -0000
@@ -0,0 +1,14 @@
+// Created by Bernardo Innocenti <bernie at codewiz.org>
+//
+// Additional symbol definitions for the OLPC keyboards
+//
+
+alphanumeric_keys modifier_keys
+xkb_symbols "olpc" {
+ include "pc(pc105)"
+
+ modifier_map Mod1 { KP_Home }; // KP_Home is the "square" game key
+ modifier_map Mod3 { KP_End }; // KP_End is the "tick" game key
+ modifier_map Mod4 { KP_Prior }; // KP_Prior is the "O" game key
+ modifier_map Mod5 { KP_Next }; // KP_Next is the "X" game key
+};
Index: symbols/ru
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/ru,v
retrieving revision 1.14
diff -u -p -u -p -r1.14 ru
--- symbols/ru 15 Jun 2007 20:39:29 -0000 1.14
+++ symbols/ru 13 Jul 2007 09:16:45 -0000
@@ -69,6 +69,24 @@ xkb_symbols "basic" {
};
partial alphanumeric_keys
+xkb_symbols "olpc" {
+ include "ru(basic)"
+ name[Group1]= "Russia - olpc keys";
+ key <TLDE> { [ U+0451, U+0401, grave ] }; // ё, Ё
+ key <AE03> { [ 3, numbersign, U+2116 ] }; // №
+ key <AE04> { [ 4, dollar, semicolon ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum, colon ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft, acute ] };
+ key <AC12> { [ backslash, bar, slash ] };
+ key <AB10> { [ period, comma ] };
+ key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
+ key <BKSL> { [ backslash, slash ] };
+};
+
+partial alphanumeric_keys
xkb_symbols "winkeys" {
include "ru(basic)"
name[Group1]= "Russia - Winkeys";
Index: symbols/th
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/th,v
retrieving revision 1.6
diff -u -p -u -p -r1.6 th
--- symbols/th 16 Jan 2005 02:18:20 -0000 1.6
+++ symbols/th 13 Jul 2007 09:16:45 -0000
@@ -186,3 +186,64 @@ xkb_symbols "tis" {
key <BKSL> { [ Thai_khokhon, Thai_khokhuat ] };
};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+
+ name[Group1]= "Thailand - OLPC";
+ // The OLPC thai layout
+ // walter at laptop.org
+
+ key <TLDE> { [ 0x1000E4F, 0x1000E5B ] };
+ key <AE01> { [ 0x1000E3F, 0x1000E45 ] };
+ key <AE02> { [ slash, 0x1000E51 ] };
+ key <AE03> { [ minus, 0x1000E52 ] };
+ key <AE04> { [ 0x1000E20, 0x1000E53 ] };
+ key <AE05> { [ 0x1000E16, 0x1000E54 ] };
+ key <AE06> { [ 0x1000E38, 0x1000E39 ] };
+ key <AE07> { [ 0x1000E36, 0x1000E4E ] };
+ key <AE08> { [ 0x1000E04, 0x1000E55 ] };
+ key <AE09> { [ 0x1000E15, 0x1000E56 ] };
+ key <AE10> { [ 0x1000E08, 0x1000E57 ] };
+ key <AE11> { [ 0x1000E02, 0x1000E58 ] };
+ key <AE12> { [ 0x1000E0A, 0x1000E59 ] };
+
+ key <AD01> { [ 0x1000E46, 0x1000E50 ] };
+ key <AD02> { [ 0x1000E44, quotedbl ] };
+ key <AD03> { [ 0x1000E33, 0x1000E0E ] };
+ key <AD04> { [ 0x1000E1E, 0x1000E11 ] };
+ key <AD05> { [ 0x1000E30, 0x1000E18 ] };
+ key <AD06> { [ 0x1000E31, 0x1000E4D ] };
+ key <AD07> { [ 0x1000E35, 0x1000E4A ] };
+ key <AD08> { [ 0x1000E23, 0x1000E13 ] };
+ key <AD09> { [ 0x1000E19, 0x1000E2F ] };
+ key <AD10> { [ 0x1000E22, 0x1000E0D ] };
+ key <AD11> { [ 0x1000E1A, 0x1000E10 ] };
+ key <AD12> { [ 0x1000E25, comma ] };
+
+ key <AC01> { [ 0x1000E1F, 0x1000E24 ] };
+ key <AC02> { [ 0x1000E2B, 0x1000E06 ] };
+ key <AC03> { [ 0x1000E01, 0x1000E0F ] };
+ key <AC04> { [ 0x1000E14, 0x1000E42 ] };
+ key <AC05> { [ 0x1000E40, 0x1000E0C ] };
+ key <AC06> { [ 0x1000E49, 0x1000E47 ] };
+ key <AC07> { [ 0x1000E48, 0x1000E4B ] };
+ key <AC08> { [ 0x1000E32, 0x1000E29 ] };
+ key <AC09> { [ 0x1000E2A, 0x1000E28 ] };
+ key <AC10> { [ 0x1000E27, 0x1000E0B ] };
+ key <AC11> { [ 0x1000E07, period ] };
+ key <BKSL> { [ 0x1000E05, 0x1000E03 ] };
+
+ key <AB01> { [ 0x1000E1C, parenleft ] };
+ key <AB02> { [ 0x1000E1B, parenright ] };
+ key <AB03> { [ 0x1000E41, 0x1000E09 ] };
+ key <AB04> { [ 0x1000E2D, 0x1000E2E ] };
+ key <AB05> { [ 0x1000E34, 0x1000E3A ] };
+ key <AB06> { [ 0x1000E37, 0x1000E4C ] };
+ key <AB07> { [ 0x1000E17, question ] };
+ key <AB08> { [ 0x1000E21, 0x1000E12 ] };
+ key <AB09> { [ 0x1000E43, 0x1000E2C ] };
+ key <AB10> { [ 0x1000E1D, 0x1000E26 ] };
+
+ key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
+};
Index: symbols/tr
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/tr,v
retrieving revision 1.10
diff -u -p -u -p -r1.10 tr
--- symbols/tr 22 Mar 2006 23:02:42 -0000 1.10
+++ symbols/tr 13 Jul 2007 09:16:45 -0000
@@ -226,3 +226,12 @@ xkb_symbols "ku_alt" {
key <AD08> { [ i, I, icircumflex, Icircumflex ] };
key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
};
+
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+ name[Group1]= "Turkish OLPC";
+ include "tr(f)"
+
+ key <I219> { [ less, greater, bar, brokenbar ] };
+};
Index: symbols/tu
===================================================================
RCS file: symbols/tu
diff -N symbols/tu
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ symbols/tu 13 Jul 2007 09:16:45 -0000
@@ -0,0 +1,172 @@
+// based on a keyboard map from an 'xkb/symbols/ur' file
+// Contact: Miles Grimshaw
+// E-mail : miles_grimshaw at bbns.org
+// $XFree86$
+// olpc mods
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Turkish";
+
+// NOTES:
+//
+// there is also combined shadda diacritis in AltGr position of simple
+// diacritics fatha, fathatan, damma, dammatan, kasra and kasratan
+// should a third state be added to Group2 ?
+//
+
+
+ key <TLDE> { [ , ] };
+ key <AE01> { [ 0x1000031 , 0x1000021 ] };//ASCII Digit One, Exclamation Mark
+ key <AE02> { [ 0x1000032 , 0x1000022 , 0x10000B2 ] };//ASCII Digit Two, Quotation Mark, Subscript Two
+ key <AE03> { [ 0x1000033 , 0x100005E , 0x1000023 ] };//ASCII Digit Three, Circumflex Accent, Number Sign
+ key <AE04> { [ 0x1000034 , 0x1000024 , 0x10000BC ] };//ASCII Digit Four, Dollar Sign, Vulgar Fraction One Quarter
+ key <AE05> { [ 0x1000035 , 0x1000025 , 0x10000BD ] };//ASCII Digit Five, Percent Sign, Vulgar Fraction One Half
+ key <AE06> { [ 0x1000036 , 0x1000026 , 0x10000BE ] };//ASCII Digit Six, Ampersand, Vulgar Fraction Three Quarters
+ key <AE07> { [ 0x1000037 , 0x1000027 , 0x100007B ] };//ASCII Digit Seven, Apostrophe, Left Curly Bracket
+ key <AE08> { [ 0x1000038 , 0x1000028 , 0x100005B ] };//ASCII Digit Eight, Left Parenthesis, Left Square Bracket
+ key <AE09> { [ 0x1000039 , 0x1000029 , 0x100005D ] };//ASCII Digit Nine, Right Parenthesis, Right Square Bracket
+ key <AE10> { [ 0x1000030 , 0x100003D , 0x100007D ] };//ASCII Digit Zero, Equals Sign, Right Curly Bracket
+ key <AE11> { [ 0x100002F , 0x100003F , 0x100005C ] };
+ key <AE12> { [ 0x100002D , 0x100005F , 0x100007C ] };
+
+ key <AD01> { [ 0x1000046 , , 0x1000040 ] };
+ key <AD02> { [ 0x1000047 , , ] };
+ key <AD03> { [ 0x10001E6 , , ] };//Latin Capital letter G With Caron
+ key <AD04> { [ 0x1000049 , , ] };
+ key <AD05> { [ 0x100004F , , ] };
+ key <AD06> { [ 0x1000044 , , ] };
+ key <AD07> { [ 0x1000052 , , ] };R
+ key <AD08> { [ 0x100004E , , ] };
+ key <AD09> { [ 0x1000048 , , ] };
+ key <AD10> { [ 0x1000050 , , 0x10000A3 ] };//Latin Capital letter P,Pound Sign
+ key <AD11> { [ 0x1000051 , , 0x10000A8 ] };//Latin Capital Letter Q, Diaresis
+ key <AD12> { [ 0x1000057 , , 0x100007E ] };//Latin Capital Letter W, Tilde
+
+ key <AC01> { [ 0x100005 , , ] };
+ key <AC02> { [ 0x1000130 , , ] };//Latin Capital Letter I with dot Above
+ key <AC03> { [ 0x1000045 , , ] };
+ key <AC04> { [ 0x1000041 , , ] };
+ key <AC05> { [ 0x10000DC , , ] };//Latin Capital letter U With Diaresis
+ key <AC06> { [ 0x1000054 , , ] };
+ key <AC07> { [ 0x100004B , , ] };
+ key <AC08> { [ 0x100004D , , ] };
+ key <AC09> { [ 0x100004C , , ] };
+ key <AC10> { [ 0x1000059 , , ] };
+ key <AC11> { [ 0x100015E , , ] };//Latin Capital Letter S with Cedilla
+ key <BKSL> { [ 0x1000058 , , 0x1000060 ] };//Grave Accent
+
+ key <LSGT> { [ bar , brokenbar , ] };
+ key <AB01> { [ 0x100004A , , ] };
+ key <AB02> { [ 0x10000D6 , , ] };//Latin Capital Letter O With Diaresis
+ key <AB03> { [ 0x1000056 , , ] };
+ key <AB04> { [ 0x1000043 , , ] };
+ key <AB05> { [ 0x10000C7 , , ] };//Latin Capital Letter C With Cedilla
+ key <AB06> { [ 0x100005A , , ] };
+ key <AB07> { [ 0x1000053 , , 0x10003BC ] };//S, Greek Small Letter MU
+ key <AB08> { [ 0x1000042 , , ] };
+ key <AB09> { [ 0x100002E , 0x100003A , ] };
+ key <AB10> { [ 0x100002C , 0x100003B , ] };
+
+ // End alphanumeric section
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty" {
+ include "pc/ar(basic)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "azerty" {
+ include "pc/ar(basic)"
+
+ // the north african arabic keyboard differs from the middle east one
+ // by the numeric row; it follows French keyboard style
+ //
+ // PROBLEM: some chars are inaccessible: ! @ # $ % ^ *
+ // should they go elsewhere? replace " ' that are now in double ?
+ // also, dead_circumflex and dead_diaeresis from French keyboard
+ // as well as ugrave are missing, which questions the utility of the
+ // other accentuated latin letters. Maybe this is useful only with
+ // a French keyboard in Group1 ? Then, shouldn't Group1 be filled ?
+
+ key <AE01> { [ ampersand, 1 ] };
+ key <AE02> { [ eacute, 2 ] };
+ key <AE03> { [ quotedbl, 3 ] };
+ key <AE04> { [ apostrophe, 4 ] };
+ key <AE05> { [ parenleft, 5 ] };
+ key <AE06> { [ minus, 6 ] };
+ key <AE07> { [ egrave, 7 ] };
+ key <AE08> { [ underscore, 8 ] };
+ key <AE09> { [ ccedilla, 9 ] };
+ key <AE10> { [ agrave, 0 ] };
+ key <AE11> { [ parenright, degree ] };
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "digits" {
+ include "pc/ar(basic)"
+
+ // use arabic script digits
+
+ key <AE01> { [ 0x1000661, exclam ] };
+ key <AE02> { [ 0x1000662, at ] };
+ key <AE03> { [ 0x1000663, numbersign ] };
+ key <AE04> { [ 0x1000664, dollar ] };
+ key <AE05> { [ 0x1000665, percent ] };
+ key <AE06> { [ 0x1000666, asciicircum ] };
+ key <AE07> { [ 0x1000667, ampersand ] };
+ key <AE08> { [ 0x1000668, asterisk ] };
+ key <AE09> { [ 0x1000669, parenleft ] };
+ key <AE10> { [ 0x1000660, parenright ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty_digits" {
+ include "pc/ar(digits)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "azerty_digits" {
+ include "pc/ar(azerty)"
+ key <AE01> { [ ampersand, 0x1000661 ] };
+ key <AE02> { [ eacute, 0x1000662 ] };
+ key <AE03> { [ quotedbl, 0x1000663 ] };
+ key <AE04> { [ apostrophe, 0x1000664 ] };
+ key <AE05> { [ parenleft, 0x1000665 ] };
+ key <AE06> { [ minus, 0x1000666 ] };
+ key <AE07> { [ egrave, 0x1000667 ] };
+ key <AE08> { [ underscore, 0x1000668 ] };
+ key <AE09> { [ ccedilla, 0x1000669 ] };
+ key <AE10> { [ agrave, 0x1000660 ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+ name[Group1]= "Arabic OLPC-Urdu";
+
+ include "ur(basic)"
+
+ key <AE02> { [ 0x10006F2 , 0x1000600 ] };
+ key <AE05> { [ 0x10006F5 , 0x100060F ] };
+ key <AE06> { [ 0x10006F6 , 0x1000610 ] };
+
+ key <AD01> { [ 0x1000642 , 0x10006E1 ] };
+ key <AD02> { [ 0x1000648 , 0x100FDFA ] };
+ key <AD03> { [ 0x1000639 , 0x1000611 ] };
+ key <AD11> { [ 0x100005D , 0x1000603 ] };
+ key <AD12> { [ 0x100005B , 0x100060E ] };
+
+ key <AC04> { [ 0x1000641 , 0x1000656 ] };
+ key <AC09> { [ 0x1000644 , 0x1000612 ] };
+ key <AC11> { [ 0x1000027 , 0x1000022 ] };
+ key <BKSL> { [ 0x1000602 , 0x1000614 ] };
+
+ key <AB05> { [ 0x1000628 , 0x1000613 ] };
+ key <AB07> { [ 0x1000645 , 0x1000658 ] };
+ key <AB10> { [ 0x1000615 , 0x100061F ] };
+
+ //language key
+ key <I219> { [ISO_Next_Group , ISO_Prev_Group ] };
+}
Index: symbols/ur
===================================================================
RCS file: symbols/ur
diff -N symbols/ur
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ symbols/ur 13 Jul 2007 09:16:45 -0000
@@ -0,0 +1,171 @@
+// based on a keyboard map from an 'xkb/symbols/ur' file
+// Contact: Nadir Durrani
+// E-mail : aquadurrani at hotmail.com
+// $
+// olpc mods
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Arabic";
+
+// NOTES:
+//
+// there is also combined shadda diacritis in AltGr position of simple
+// diacritics fatha, fathatan, damma, dammatan, kasra and kasratan
+// should a third state be added to Group2 ?
+//
+
+ key <TLDE> { [ 0x100064d , 0x100064b ] };
+ key <AE01> { [ 0x10006F1 , 0x1000021 ] };
+ key <AE02> { [ 0x10006F2 , 0x1000003 ] };
+ key <AE03> { [ 0x10006F3 , 0x100002f ] };
+ key <AE04> { [ 0x10006F4 , 0x1000626 ] };
+ key <AE05> { [ 0x10006F5 , 0x1000003 ] };
+ key <AE06> { [ 0x10006F6 , 0x10006d6 ] };
+ key <AE07> { [ 0x10006F7 , 0x1000654 ] };
+ key <AE08> { [ 0x10006F8 , 0x100064c ] };
+ key <AE09> { [ 0x10006F9 , 0x1000029 ] };
+ key <AE10> { [ 0x10006F0 , 0x1000028 ] };
+ key <AE11> { [ 0x1000623 , 0x1000651 ] };
+ key <AE12> { [ 0x1000624 , 0x1000622 ] };
+ key <AD01> { [ 0x1000642 , 0x1000652 ] };
+ key <AD02> { [ 0x1000648 , 0x10000a3 ] };
+ key <AD03> { [ 0x1000639 , 0x10000a5 ] };
+ key <AD04> { [ 0x1000631 , 0x1000691 ] };
+ key <AD05> { [ 0x100062a , 0x1000679 ] };
+ key <AD06> { [ 0x10006d2 , 0x1000601 ] };
+ key <AD07> { [ 0x1000621 , 0x100060c ] };
+ key <AD08> { [ 0x10006cc , 0x1000670 ] };
+ key <AD09> { [ 0x10006c1 , 0x10006c3 ] };
+ key <AD10> { [ 0x100067e , 0x100064f ] };
+ key <AD11> { [ 0x100005d , 0x1000670 ] };
+ key <AD12> { [ 0x100005b , 0x1000670 ] };
+
+ key <AC01> { [ 0x1000627 , 0x1000653 ] };
+ key <AC02> { [ 0x1000633 , 0x1000635 ] };
+ key <AC03> { [ 0x100062f , 0x1000688 ] };
+ key <AC04> { [ 0x1000641 , 0x1000003 ] };
+ key <AC05> { [ 0x10006af , 0x100063a ] };
+ key <AC06> { [ 0x10006be , 0x100062d ] };
+ key <AC07> { [ 0x100062c , 0x1000636 ] };
+ key <AC08> { [ 0x10006a9 , 0x100062e ] };
+ key <AC09> { [ 0x1000644 , 0x1000613 ] };
+ key <AC10> { [ 0x100061b , 0x100003a ] };
+ key <AC11> { [ 0x1000670 , 0x1000022 ] };
+ key <BKSL> { [ 0x100060e , 0x1000614 ] };
+
+ key <LSGT> { [ bar , brokenbar ] };
+ key <AB01> { [ 0x1000632 , 0x1000630 ] };
+ key <AB02> { [ 0x1000634 , 0x1000698 ] };
+ key <AB03> { [ 0x1000686 , 0x100062b ] };
+ key <AB04> { [ 0x1000637 , 0x1000638 ] };
+ key <AB05> { [ 0x1000628 , 0x1000612 ] };
+ key <AB06> { [ 0x1000646 , 0x10006ba ] };
+ key <AB07> { [ 0x1000645 , 0x1000003 ] };
+ key <AB08> { [ 0x100060c , 0x1000650 ] };
+ key <AB09> { [ 0x10006d4 , 0x100064e ] };
+ key <AB10> { [ 0x1000003 , 0x100061f ] };
+
+ // End alphanumeric section
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty" {
+ include "pc/ar(basic)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "azerty" {
+ include "pc/ar(basic)"
+
+ // the north african arabic keyboard differs from the middle east one
+ // by the numeric row; it follows French keyboard style
+ //
+ // PROBLEM: some chars are inaccessible: ! @ # $ % ^ *
+ // should they go elsewhere? replace " ' that are now in double ?
+ // also, dead_circumflex and dead_diaeresis from French keyboard
+ // as well as ugrave are missing, which questions the utility of the
+ // other accentuated latin letters. Maybe this is useful only with
+ // a French keyboard in Group1 ? Then, shouldn't Group1 be filled ?
+
+ key <AE01> { [ ampersand, 1 ] };
+ key <AE02> { [ eacute, 2 ] };
+ key <AE03> { [ quotedbl, 3 ] };
+ key <AE04> { [ apostrophe, 4 ] };
+ key <AE05> { [ parenleft, 5 ] };
+ key <AE06> { [ minus, 6 ] };
+ key <AE07> { [ egrave, 7 ] };
+ key <AE08> { [ underscore, 8 ] };
+ key <AE09> { [ ccedilla, 9 ] };
+ key <AE10> { [ agrave, 0 ] };
+ key <AE11> { [ parenright, degree ] };
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "digits" {
+ include "pc/ar(basic)"
+
+ // use arabic script digits
+
+ key <AE01> { [ 0x1000661, exclam ] };
+ key <AE02> { [ 0x1000662, at ] };
+ key <AE03> { [ 0x1000663, numbersign ] };
+ key <AE04> { [ 0x1000664, dollar ] };
+ key <AE05> { [ 0x1000665, percent ] };
+ key <AE06> { [ 0x1000666, asciicircum ] };
+ key <AE07> { [ 0x1000667, ampersand ] };
+ key <AE08> { [ 0x1000668, asterisk ] };
+ key <AE09> { [ 0x1000669, parenleft ] };
+ key <AE10> { [ 0x1000660, parenright ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty_digits" {
+ include "pc/ar(digits)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "azerty_digits" {
+ include "pc/ar(azerty)"
+ key <AE01> { [ ampersand, 0x1000661 ] };
+ key <AE02> { [ eacute, 0x1000662 ] };
+ key <AE03> { [ quotedbl, 0x1000663 ] };
+ key <AE04> { [ apostrophe, 0x1000664 ] };
+ key <AE05> { [ parenleft, 0x1000665 ] };
+ key <AE06> { [ minus, 0x1000666 ] };
+ key <AE07> { [ egrave, 0x1000667 ] };
+ key <AE08> { [ underscore, 0x1000668 ] };
+ key <AE09> { [ ccedilla, 0x1000669 ] };
+ key <AE10> { [ agrave, 0x1000660 ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+ name[Group1]= "Arabic OLPC-Urdu";
+
+ include "ur(basic)"
+
+ key <AE02> { [ 0x10006F2 , 0x1000600 ] };
+ key <AE05> { [ 0x10006F5 , 0x100060F ] };
+ key <AE06> { [ 0x10006F6 , 0x1000610 ] };
+
+ key <AD01> { [ 0x1000642 , 0x10006E1 ] };
+ key <AD02> { [ 0x1000648 , 0x100FDFA ] };
+ key <AD03> { [ 0x1000639 , 0x1000611 ] };
+ // [] swapped due to keyboard misprint
+ key <AD11> { [ 0x100005B , 0x1000603 ] };
+ key <AD12> { [ 0x100005D , 0x100060E ] };
+
+ key <AC04> { [ 0x1000641 , 0x1000656 ] };
+ key <AC09> { [ 0x1000644 , 0x1000612 ] };
+ key <AC11> { [ 0x1000027 , 0x1000022 ] };
+ key <BKSL> { [ 0x1000602 , 0x1000614 ] };
+
+ key <AB05> { [ 0x1000628 , 0x1000613 ] };
+ key <AB07> { [ 0x1000645 , 0x1000658 ] };
+ key <AB10> { [ 0x1000615 , 0x100061F ] };
+
+ //language key
+ key <I219> { [ISO_Next_Group , ISO_Prev_Group ] };
+};
Index: symbols/us
===================================================================
RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/us,v
retrieving revision 1.30
diff -u -p -u -p -r1.30 us
--- symbols/us 29 Jun 2007 21:32:16 -0000 1.30
+++ symbols/us 13 Jul 2007 09:16:45 -0000
@@ -577,3 +577,58 @@ xkb_symbols "colemak" {
include "level3(ralt_switch)"
};
+partial alphanumeric_keys
+xkb_symbols "olpc" {
+ name[Group1]= "U.S. English - OLPC International";
+
+ include "us(basic)"
+
+ // OLPC international US English keyboard layout.
+ // It's a little different from the usual international layout.
+ // See: http://wiki.laptop.org/go/Image:Keyboard_english.jpg
+
+
+ key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
+ key <AE01> { [ 1, exclam, exclamdown, exclamdown ] };
+ key <AE02> { [ 2, at, questiondown, questiondown ] };
+ key <AE03> { [ 3, numbersign, section, section ] };
+ key <AE04> { [ 4, dollar, sterling, sterling ] };
+ key <AE05> { [ 5, percent, EuroSign, EuroSign ] };
+ key <AE06> { [ 6,asciicircum, notsign, notsign ] };
+ key <AE07> { [ 7, ampersand, 0x1000325, 0x1000325 ] };
+ key <AE08> { [ 8, asterisk, 0x1000324, 0x1000324 ] };
+ key <AE09> { [ 9, parenleft, 0x1000320, 0x1000320 ] };
+ key <AE10> { [ 0, parenright, 0x1000327, 0x1000327 ] };
+ key <AE11> { [ minus, underscore, 0x1000323, 0x1000323 ] };
+ key <AE12> { [ equal, plus, 0x1000330, 0x1000330 ] };
+
+
+ key <AD03> { [ e, E, oe, OE ] };
+ key <AD09> { [ o, O, oslash, Oslash ] };
+ key <AD10> { [ p, P, 0x100030A, 0x100030A ] };
+ key <AD11> { [ bracketleft, braceleft, 0x1000300, 0x1000300 ] };
+ key <AD12> { [bracketright, braceright, 0x1000301, 0x1000301 ] };
+
+ key <AC01> { [ a, A, ae, AE ] };
+ key <AC02> { [ s, S, ssharp, ssharp ] };
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC10> { [ semicolon, colon, 0x1000303, 0x1000303 ] };
+ key <AC11> { [ apostrophe, quotedbl, 0x1000302, 0x1000302 ] };
+ key <BKSL> { [ backslash, bar, 0x100030C, 0x100030C ] };
+
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+ key <AB06> { [ n, N, ntilde, Ntilde ] };
+ key <AB08> { [ comma, less, 0x1000307, 0x1000307 ] };
+ key <AB09> { [ period, greater, 0x1000308, 0x1000308 ] };
+ key <AB10> { [ slash, question, 0x1000304, 0x1000304 ] };
+
+ key <I219> { [ multiply, division, ISO_Next_Group, ISO_Prev_Group ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "olpc2" {
+ include "us(olpc)"
+ key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
+};
--
// Bernardo Innocenti
\X/ http://www.codewiz.org/
More information about the xorg
mailing list