summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsvu <svu>2006-08-31 21:44:12 +0000
committersvu <svu>2006-08-31 21:44:12 +0000
commit2d351a64dfe87c126a9125add0e9ad12cfc507a7 (patch)
treeee455ceefa754f86cda5bf810133e852783ea994
parent77a034b67ce8dcfd09df9850f7823d719c56b479 (diff)
downloadxkeyboard-config-2d351a64dfe87c126a9125add0e9ad12cfc507a7.tar.gz
macbook pro stuff
-rw-r--r--ChangeLog8
-rw-r--r--geometry/macintosh239
-rw-r--r--keycodes/evdev334
-rw-r--r--keycodes/macintosh9
-rw-r--r--keycodes/xfree865
-rw-r--r--rules/base.lists.part7
-rw-r--r--rules/base.m_g.part1
-rw-r--r--rules/base.m_k.part2
-rw-r--r--rules/base.m_s.part3
-rw-r--r--rules/base.ml_s.part1
-rw-r--r--rules/base.xml.in18
-rw-r--r--symbols/inet19
12 files changed, 418 insertions, 228 deletions
diff --git a/ChangeLog b/ChangeLog
index 7bee72e..6530c41 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2006-08-31 Sergey Udaltsov
+ geometry/macintosh, keycodes/macintosh, keycodes/xfree86,
+ rules/base.lists.part, rules/base.m_g.part, rules/base.m_k.part,
+ rules/base.m_s.part, rules/base.ml_s.part, rules/base.xml.in,
+ symbols/inet: Added Macbook stuff, partially closing
+ https://bugs.freedesktop.org/show_bug.cgi?id=8068
+
+2006-08-31 Sergey Udaltsov
+
symbols/group, rules/base.o_s.part: added group:alt_caps_toggle
https://bugs.freedesktop.org/show_bug.cgi?id=8047
diff --git a/geometry/macintosh b/geometry/macintosh
index 5ecdcf8..e4b4774 100644
--- a/geometry/macintosh
+++ b/geometry/macintosh
@@ -329,3 +329,242 @@ xkb_geometry "applepro" {
}; // End of "Keypad" section
}; // End of "applepro" geometry
+
+xkb_geometry "macbook78" {
+
+ description= "Apple Laptop 78-key (US)";
+ width= 273;
+ height= 110;
+
+ shape.cornerRadius= 0;
+ shape "ESC" { { [ 21,9] }, cornerRadius=1, { [0,1], [ 19,8] } };
+ shape "FUNC" { { [ 18,9] }, cornerRadius=1, { [2,1], [ 16,8] } };
+ shape "EJCT" { { [ 20,9] }, cornerRadius=1, { [2,1], [ 20,8] } };
+ shape "DEGR" { { [ 16,18] }, cornerRadius=1, { [0,2], [ 14,16] } };
+ shape "NORM" { { [ 18,18] }, cornerRadius=1, { [2,2], [ 16,16] } };
+ shape "BKSP" { { [ 25,18] }, cornerRadius=1, { [2,2], [ 25,16] } };
+ shape "TABK" { { [ 24,18] }, cornerRadius=1, { [0,2], [ 22,16] } };
+ shape "BKSL" { { [ 17,18] }, cornerRadius=1, { [2,2], [17,16] } };
+ shape "RTRN" { { [ 31,18] }, cornerRadius=1, { [2,2], [31,16] } };
+ shape "CAPS" { { [ 29,18] }, cornerRadius=1, { [0,2], [ 27,16] } };
+ shape "LFSH" { { [ 40,18] }, cornerRadius=1, { [0,2], [ 38,16] } };
+ shape "RTSH" { { [ 39,18] }, cornerRadius=1, { [2,2], [ 39,16] } };
+ shape "APPL" { { [ 23,18] }, cornerRadius=1, { [2,2], [ 21,16] } };
+ shape "SPCE" { { [ 94,18] }, cornerRadius=1, { [2,2], [ 92,16] } };
+ shape "ARRO" { { [ 17,9] }, cornerRadius=1, { [2,1], [ 15,8] } };
+
+ shape "LED" { cornerRadius= 1, { [ 2, 2 ] } };
+
+ indicator.onColor= "green";
+ indicator.offColor= "gray";
+ indicator.shape= "LED";
+ indicator "Num Lock" { top=4; left= 119; };
+ indicator "Caps Lock" { top=53; left= 4; };
+
+ section.left=0;
+ row.left= 1;
+ key.shape= "FUNC";
+ key.gap= 1;
+ section "Function" {
+ top= 0;
+ row {
+ top= 1;
+ keys { {<ESC>, "ESC" },
+ <FK01>, <FK02>, <FK03>, <FK04>,
+ <FK05>, <FK06>, <FK07>, <FK08>,
+ <FK09>, <FK10>, <FK11>, <FK12>,
+ {<K6C>, "EJCT" }
+ };
+ };
+ }; // End of "Function" section
+
+ key.shape= "NORM";
+ section "Alpha" {
+ top= 10;
+ row {
+ top= 1;
+ keys { {<TLDE>, "DEGR"},
+ <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>,
+ <AE09>, <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK"},
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>,
+ { <BKSL>, "BKSL" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>,
+ { <RTRN>, "RTRN" }
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH"},
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH" }
+ };
+ };
+ row {
+ top= 77;
+ keys { {<FN>, "DEGR"},
+ <LCTL>, <LALT>,
+ {<LMTA>, "APPL"},
+ {<SPCE>, "SPCE" },
+ {<RMTA>, "APPL"},
+ <KPEN>
+ };
+ };
+
+ }; // End of "Alpha" section
+
+ key.shape= "ARRO";
+ section "Editing" {
+ top = 86;
+ left = 217;
+ row {
+ top= 1;
+ left= 19;
+ keys { <UP> };
+ };
+ row {
+ top= 10;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+
+};
+
+xkb_geometry "macbook79" {
+
+ description= "Apple Laptop 79-key (Intl)";
+ width= 273;
+ height= 110;
+
+ shape.cornerRadius= 0;
+ shape "ESC" { { [ 21,9] }, cornerRadius=1, { [0,1], [ 19,8] } };
+ shape "FUNC" { { [ 18,9] }, cornerRadius=1, { [2,1], [ 16,8] } };
+ shape "EJCT" { { [ 20,9] }, cornerRadius=1, { [2,1], [ 20,8] } };
+ shape "DEGR" { { [ 16,18] }, cornerRadius=1, { [0,2], [ 14,16] } };
+ shape "NORM" { { [ 18,18] }, cornerRadius=1, { [2,2], [ 16,16] } };
+ shape "BKSP" { { [ 25,18] }, cornerRadius=1, { [2,2], [ 25,16] } };
+ shape "TABK" { { [ 24,18] }, cornerRadius=1, { [0,2], [ 22,16] } };
+ shape "RTRN" { { [ 0,0], [17,0], [17,37], [5,37], [5, 18], [0,18], [0,0] },
+ cornerRadius=1,
+ { [ 2,2], [15,2], [15,35], [7,35], [7, 16], [2,16] }
+ };
+ shape "CAPS" { { [ 29,18] }, cornerRadius=1, { [0,2], [ 27,16] } };
+ shape "LFSH" { { [ 21,18] }, cornerRadius=1, { [0,2], [ 19,16] } };
+ shape "RTSH" { { [ 39,18] }, cornerRadius=1, { [2,2], [ 39,16] } };
+ shape "APPL" { { [ 23,18] }, cornerRadius=1, { [2,2], [ 21,16] } };
+ shape "SPCE" { { [ 94,18] }, cornerRadius=1, { [2,2], [ 92,16] } };
+ shape "ARRO" { { [ 17,9] }, cornerRadius=1, { [2,1], [ 15,8] } };
+
+ shape "LED" { cornerRadius= 1, { [ 2, 2 ] } };
+
+ indicator.onColor= "green";
+ indicator.offColor= "gray";
+ indicator.shape= "LED";
+ indicator "Num Lock" { top=4; left= 119; };
+ indicator "Caps Lock" { top=53; left= 4; };
+
+ section.left=0;
+ row.left= 1;
+ key.shape= "FUNC";
+ key.gap= 1;
+ section "Function" {
+ top= 0;
+ row {
+ top= 1;
+ keys { {<ESC>, "ESC" },
+ <FK01>, <FK02>, <FK03>, <FK04>,
+ <FK05>, <FK06>, <FK07>, <FK08>,
+ <FK09>, <FK10>, <FK11>, <FK12>,
+ {<K6C>, "EJCT" }
+ };
+ };
+ }; // End of "Function" section
+
+ key.shape= "NORM";
+ section "Alpha" {
+ top= 10;
+ row {
+ top= 1;
+ keys { {<TLDE>, "DEGR"},
+ <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>,
+ <AE09>, <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK"},
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <RTRN>, "RTRN" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <BKSL>
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH"},
+ <LSGT>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH" }
+ };
+ };
+ row {
+ top= 77;
+ keys { {<FN>, "DEGR"},
+ <LCTL>, <LALT>,
+ {<LWIN>, "APPL"},
+ {<SPCE>, "SPCE" },
+ {<RALT>, "APPL"},
+ <KPEN>
+ };
+ };
+
+ }; // End of "Alpha" section
+
+ key.shape= "ARRO";
+ section "Editing" {
+ top = 86;
+ left = 217;
+ row {
+ top= 1;
+ left= 19;
+ keys { <UP> };
+ };
+ row {
+ top= 10;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+
+}; // End of "default" geometry
+
diff --git a/keycodes/evdev b/keycodes/evdev
index b5d1f50..9eed3d9 100644
--- a/keycodes/evdev
+++ b/keycodes/evdev
@@ -72,7 +72,8 @@ default xkb_keycodes "evdev" {
// Microsoft keyboard extra keys
<LWIN> = 133;
<RWIN> = 134;
- <MENU> = 135;
+ <COMP> = 135;
+ alias <MENU> = <COMP>;
<ESC> = 9;
<FK01> = 67;
@@ -127,229 +128,146 @@ default xkb_keycodes "evdev" {
<KP0> = 90;
<KPDL> = 91;
- // <KPEQ> = 126;
+ <KPEQ> = 125;
<FK13> = 191;
<FK14> = 192;
<FK15> = 193;
<FK16> = 194;
<FK17> = 195;
- // <KPDC> = 123;
+ <FK18> = 196;
+ <FK19> = 197;
+ <FK20> = 198;
+ <FK21> = 199;
+ <FK22> = 200;
+ <FK23> = 201;
+ <FK24> = 202;
// Keys that are generated on Japanese keyboards
- // alias <HZTG> = <TLDE>; // Hankaku_Zenkaku toggle
- // <HZTG> = 85; // Hankaku/Zenkakau toggle
- // <HKTG> = 93; // Hiragana/Katakana toggle
- // <AB11> = 211; // backslash/underscore
- // <XFER> = 92; // Henkan
- // <NFER> = 94; // Muhenkan
- // <AE13> = 124; // Yen
+ <HZTG> = 93; // Hankaku/Zenkakau toggle
+ <HKTG> = 101; // Hiragana/Katakana toggle
+ <AB11> = 211; // backslash/underscore
+ <HENK> = 100; // Henkan
+ <MUHE> = 102; // Muhenkan
+ <AE13> = 132; // Yen
+ <KATA> = 98; // Katakana
+ <HIRA> = 99; // Hiragana
+ <JPCM> = 103; // KPJPComma
// Keys that are generated on Korean keyboards
- // alias <HNGL> = <FK16>; // Hangul Latin toggle
- // alias <HJCV> = <FK17>; // Hangul to Hanja conversion
- <HNGL> = 130;
- <HJCV> = 131;
-
- // Extended keys that may be generated on "Internet" keyboards.
- // These are not standardised, hence the meaningless names.
- // The entries commented out are never generated because the raw codes
- // in those positions are already used for well-defined keys.
-
- // evdev does standardize names for these though. comment them
- // all out for now.
-
- // alias <I01> = <XFER>;
- // <I02> = 130;
- // alias <I03> = <NFER>;
- // <I04> = 132;
- // alias <I05> = <AE13>;
- // <I06> = 134;
- // <I07> = 135;
- // <I08> = 136;
- // <I09> = 137;
- // <I0A> = 138;
- // <I0B> = 139;
- // <I0C> = 140;
- // <I0D> = 141;
- // <I0E> = 142;
- // <I0F> = 143;
- // <I10> = 144;
- // <I11> = 145;
- // <I12> = 146;
- // <I13> = 147;
- // <I14> = 148;
- // <I15> = 149;
- // <I16> = 150;
- // <I17> = 151;
- // <I18> = 152;
- // <I19> = 153;
- // <I1A> = 154;
- // <I1B> = 155;
- // <I1C> = 156; <META>
- // <I1D> = 157; <K59>
- // <I1E> = 158;
- // <I1F> = 159;
- // <I20> = 160;
- // <I21> = 161;
- // <I22> = 162;
- // <I23> = 163;
- // <I24> = 164;
- // <I25> = 165;
- // <I26> = 166;
- // <I27> = 167;
- // <I28> = 168;
- // <I29> = 169;
- // <I2A> = 170; <K5A>
- // <I2B> = 171;
- // <I2C> = 172;
- // <I2D> = 173;
- // <I2E> = 174;
- // <I2F> = 175;
- // <I30> = 176;
- // <I31> = 177;
- // <I32> = 178;
- // <I33> = 179;
- // <I34> = 180;
- // <I35> = 181; <K5B>
- // <I36> = 182; <K5D>
- // <I37> = 183; <K5E>
- // <I38> = 184; <K5F>
- // <I39> = 185;
- // <I3A> = 186;
- // <I3B> = 187;
- // <I3C> = 188;
- // <I3D> = 189; <K62>
- // <I3E> = 190; <K63>
- // <I3F> = 191; <K64>
- // <I40> = 192; <K65>
- // <I41> = 193; <K66>
- // <I42> = 194;
- // <I43> = 195;
- // <I44> = 196;
- // <I45> = 197;
- // <I46> = 198; <K67>
- // <I47> = 199; <K68>
- // <I48> = 200; <K69>
- // <I49> = 201; <K6A>
- // <I4A> = 202;
- // <I4B> = 203; <K6B>
- // <I4C> = 204; <K6C>
- // <I4D> = 205; <K6D>
- // <I4E> = 206; <K6E>
- // <I4F> = 207; <K6F>
- // <I50> = 208; <K70>
- // <I51> = 209; <K71>
- // <I52> = 210; <K72>
- // <I53> = 211; <K73>
- // <I54> = 212;
- // <I55> = 213;
- // <I56> = 214;
- // <I57> = 215;
- // <I58> = 216;
- // <I59> = 217;
- // <I5A> = 218;
- // <I5B> = 219; <K74>
- // <I5C> = 220; <K75>
- // <I5D> = 221; <K76>
- // <I5E> = 222;
- // <I5F> = 223;
- // <I60> = 224;
- // <I61> = 225;
- // <I62> = 226;
- // <I63> = 227;
- // <I64> = 228;
- // <I65> = 229;
- // <I66> = 230;
- // <I67> = 231;
- // <I68> = 232;
- // <I69> = 233;
- // <I6A> = 234;
- // <I6B> = 235;
- // <I6C> = 236;
- // <I6D> = 237;
- // <I6E> = 238;
- // <I6F> = 239;
- // <I70> = 240;
- // <I71> = 241;
- // <I72> = 242;
- // <I73> = 243;
- // <I74> = 244;
- // <I75> = 245;
- // <I76> = 246;
- // <I77> = 247;
- // <I78> = 248;
- // <I79> = 249;
- // <I7A> = 250;
- // <I7B> = 251;
- // <I7C> = 252;
- // <I7D> = 253;
- // <I7E> = 254;
- // <I7F> = 255;
-
- // Codes generated for scancodes 0x59-0x5f, 0x62-0x76
- // <K59> = 157; // <I1D>
- // <K5A> = 170; // <I2A>
- // <K5B> = 181; // <I35>
- // alias <K5C> = <KPEQ>;
- // <K5D> = 182; // <I36>
- // <K5E> = 183; // <I37>
- // <K5F> = 184; // <I38>
- // <K62> = 189; // <I3D>
- // <K63> = 190; // <I3E>
- // <K64> = 191; // <I3F>
- // <K65> = 192; // <I40>
- // <K66> = 193; // <I41>
- // <K67> = 198; // <I46>
- // <K68> = 199; // <I47>
- // <K69> = 200; // <I48>
- // <K6A> = 201; // <I49>
- // <K6B> = 203; // <I4B>
- // <K6C> = 204; // <I4C>
- // <K6D> = 205; // <I4D>
- // <K6E> = 206; // <I4E>
- // <K6F> = 207; // <I4F>
- // alias <K70> = <HKTG>; // <I50>
- // <K71> = 209; // <I51>
- // <K72> = 210; // <I52>
- // alias <K73> = <AB11>; // <I53>
- // <K74> = 219; // <I5B>
- // <K75> = 220; // <I5C>
- // <K76> = 221; // <I5D>
+ <HNGL> = 130; // Hangul Latin toggle
+ <HJCV> = 131; // Hangul to Hanja conversion
// Solaris compatibility
- // alias <LMTA> = <LWIN>;
- // alias <RMTA> = <RWIN>;
- // alias <COMP> = <MENU>;
- // alias <POWR> = <I0C>;
- // alias <MUTE> = <I0D>;
- // alias <VOL-> = <I0E>;
- // alias <VOL+> = <I0F>;
- // alias <HELP> = <I10>;
- // alias <STOP> = <I11>;
- // alias <AGAI> = <I12>;
- // alias <PROP> = <I13>;
- // alias <UNDO> = <I14>;
- // alias <FRNT> = <I15>;
- // alias <COPY> = <I16>;
- // alias <OPEN> = <I17>;
- // alias <PAST> = <I18>;
- // alias <FIND> = <I19>;
- // alias <CUT> = <I1A>;
+ alias <LMTA> = <LWIN>;
+ alias <RMTA> = <RWIN>;
+ <MUTE> = 121;
+ <VOL-> = 122;
+ <VOL+> = 123;
+ <POWR> = 124;
+ <STOP> = 136;
+ <AGAI> = 137;
+ <PROP> = 138;
+ <UNDO> = 139;
+ <FRNT> = 140;
+ <COPY> = 141;
+ <OPEN> = 142;
+ <PAST> = 143;
+ <FIND> = 144;
+ <CUT> = 145;
+ <HELP> = 146;
+
+ // Extended keys that may be generated on "Internet" keyboards.
+ // evdev has standardize names for these.
- // Other codes never generated. The XFree86 ddx never generates
- // these codes.
- // Thus we can use them as fake keys
- // <MDSW> = 93; // <U5D>
- // <LVL3> = 124; // <U7C>
- // <ALT> = 125; // <U7D>
- // <META> = 156; // <I1C>
- // <SUPR> = 127; // <U7F>
- // <HYPR> = 128; // <U80>
- <LSGT> = 94;
+ <RO> = 97; // #define KEY_RO 89
+ <LNFD> = 109; // #define KEY_LINEFEED 101
+ <I120> = 120; // #define KEY_MACRO 112
+ <I126> = 126; // #define KEY_KPPLUSMINUS 118
+ <I129> = 129; // #define KEY_KPCOMMA 121
+ <I147> = 147; // #define KEY_MENU 139
+ <I148> = 148; // #define KEY_CALC 140
+ <I149> = 149; // #define KEY_SETUP 141
+ <I150> = 150; // #define KEY_SLEEP 142
+ <I151> = 151; // #define KEY_WAKEUP 143
+ <I152> = 152; // #define KEY_FILE 144
+ <I153> = 153; // #define KEY_SENDFILE 145
+ <I154> = 154; // #define KEY_DELETEFILE 146
+ <I155> = 155; // #define KEY_XFER 147
+ <I156> = 156; // #define KEY_PROG1 148
+ <I157> = 157; // #define KEY_PROG2 149
+ <I158> = 158; // #define KEY_WWW 150
+ <I159> = 159; // #define KEY_MSDOS 151
+ <I160> = 160; // #define KEY_COFFEE 152
+ <I161> = 161; // #define KEY_DIRECTION 153
+ <I162> = 162; // #define KEY_CYCLEWINDOWS 154
+ <I163> = 163; // #define KEY_MAIL 155
+ <I164> = 164; // #define KEY_BOOKMARKS 156
+ <I165> = 165; // #define KEY_COMPUTER 157
+ <I166> = 166; // #define KEY_BACK 158
+ <I167> = 167; // #define KEY_FORWARD 159
+ <I168> = 168; // #define KEY_CLOSECD 160
+ <I169> = 169; // #define KEY_EJECTCD 161
+ <I170> = 170; // #define KEY_EJECTCLOSECD 162
+ <I171> = 171; // #define KEY_NEXTSONG 163
+ <I172> = 172; // #define KEY_PLAYPAUSE 164
+ <I173> = 173; // #define KEY_PREVIOUSSONG 165
+ <I174> = 174; // #define KEY_STOPCD 166
+ <I175> = 175; // #define KEY_RECORD 167
+ <I176> = 176; // #define KEY_REWIND 168
+ <I177> = 177; // #define KEY_PHONE 169
+ <I178> = 178; // #define KEY_ISO 170
+ <I179> = 179; // #define KEY_CONFIG 171
+ <I180> = 180; // #define KEY_HOMEPAGE 172
+ <I181> = 181; // #define KEY_REFRESH 173
+ <I182> = 182; // #define KEY_EXIT 174
+ <I183> = 183; // #define KEY_MOVE 175
+ <I184> = 184; // #define KEY_EDIT 176
+ <I185> = 185; // #define KEY_SCROLLUP 177
+ <I186> = 186; // #define KEY_SCROLLDOWN 178
+ <I187> = 187; // #define KEY_KPLEFTPAREN 179
+ <I188> = 188; // #define KEY_KPRIGHTPAREN 180
+ <I189> = 189; // #define KEY_NEW 181
+ <I190> = 190; // #define KEY_REDO 182
+ <I208> = 208; // #define KEY_PLAYCD 200
+ <I209> = 209; // #define KEY_PAUSECD 201
+ <I210> = 210; // #define KEY_PROG3 202
+ <I211> = 211; // #define KEY_PROG4 203
+ <I213> = 213; // #define KEY_SUSPEND 205
+ <I214> = 214; // #define KEY_CLOSE 206
+ <I215> = 215; // #define KEY_PLAY 207
+ <I216> = 216; // #define KEY_FASTFORWARD 208
+ <I217> = 217; // #define KEY_BASSBOOST 209
+ <I218> = 218; // #define KEY_PRINT 210
+ <I219> = 219; // #define KEY_HP 211
+ <I220> = 220; // #define KEY_CAMERA 212
+ <I221> = 221; // #define KEY_SOUND 213
+ <I222> = 222; // #define KEY_QUESTION 214
+ <I223> = 223; // #define KEY_EMAIL 215
+ <I224> = 224; // #define KEY_CHAT 216
+ <I225> = 225; // #define KEY_SEARCH 217
+ <I226> = 226; // #define KEY_CONNECT 218
+ <I227> = 227; // #define KEY_FINANCE 219
+ <I228> = 228; // #define KEY_SPORT 220
+ <I229> = 229; // #define KEY_SHOP 221
+ <I230> = 230; // #define KEY_ALTERASE 222
+ <I231> = 231; // #define KEY_CANCEL 223
+ <I232> = 232; // #define KEY_BRIGHTNESSDOWN 224
+ <I233> = 233; // #define KEY_BRIGHTNESSUP 225
+ <I234> = 234; // #define KEY_MEDIA 226
+ <I235> = 235; // #define KEY_SWITCHVIDEOMODE 227
+ <I236> = 236; // #define KEY_KBDILLUMTOGGLE 228
+ <I237> = 237; // #define KEY_KBDILLUMDOWN 229
+ <I238> = 238; // #define KEY_KBDILLUMUP 230
+ <I239> = 239; // #define KEY_SEND 231
+ <I240> = 240; // #define KEY_REPLY 232
+ <I241> = 241; // #define KEY_FORWARDMAIL 233
+ <I242> = 242; // #define KEY_SAVE 234
+ <I243> = 243; // #define KEY_DOCUMENTS 235
+ <I244> = 244; // #define KEY_BATTERY 236
indicator 1 = "Caps Lock";
indicator 2 = "Num Lock";
diff --git a/keycodes/macintosh b/keycodes/macintosh
index adc502b..184740e 100644
--- a/keycodes/macintosh
+++ b/keycodes/macintosh
@@ -37,6 +37,15 @@ default xkb_keycodes "macintosh" {
<KPEQ> = 157;
};
+
+xkb_keycodes "macbook" {
+ include "macintosh"
+
+// MacBook keyboards switch TLDE and LSGT keycodes
+ <TLDE> = 94;
+ <LSGT> = 49;
+};
+
xkb_keycodes "old" {
minimum= 8;
diff --git a/keycodes/xfree86 b/keycodes/xfree86
index b82f379..f2d7d6b 100644
--- a/keycodes/xfree86
+++ b/keycodes/xfree86
@@ -295,6 +295,9 @@ xkb_keycodes "basic" {
<I7E> = 254;
<I7F> = 255;
+ // MacBooks generate 0x65 for the lower brightness key
+ <II65> = 101;
+
// Codes generated for scancodes 0x59-0x5f, 0x62-0x76
<K59> = 157; // <I1D>
<K5A> = 170; // <I2A>
@@ -411,5 +414,3 @@ xkb_keycodes "abnt2" {
<AC13> = 94;
<KPPT> = 134;
};
-
-
diff --git a/rules/base.lists.part b/rules/base.lists.part
index c3a959b..b86bc84 100644
--- a/rules/base.lists.part
+++ b/rules/base.lists.part
@@ -9,8 +9,9 @@
! $pcgeometries = abnt2 latitude microsoft jp106 kr106
-! $maclaptop = ibook powerbook
-! $mac = macintosh macintosh_old ibook powerbook
+! $macbooks = macbook78 macbook79
+! $maclaptop = ibook powerbook macbook78 macbook79
+! $mac = macintosh macintosh_old ibook powerbook macbook78 macbook79
! $macvendorlayouts = ch de dk es fi fr gb is it nl no pt se us
@@ -41,7 +42,7 @@
microsoftinet microsoftpro microsoftprousb microsoftprooem microsoftprose \
microsoftoffice microsoftmult \
oretec \
- power_g5 propeller silvercrest scorpius \
+ propeller silvercrest scorpius \
qtronix \
samsung4500 samsung4510 \
sk1300 sk2500 sk6200 sk7100 sp_inet \
diff --git a/rules/base.m_g.part b/rules/base.m_g.part
index 2d65238..5a55f5b 100644
--- a/rules/base.m_g.part
+++ b/rules/base.m_g.part
@@ -11,5 +11,6 @@
everex = everex(STEPnote)
winbook = winbook(XP5)
pc98 = nec(pc98)
+ $macbooks = macintosh(%m)
$mac = macintosh(macintosh)
* = pc(pc104)
diff --git a/rules/base.m_k.part b/rules/base.m_k.part
index 9e120c8..63901be 100644
--- a/rules/base.m_k.part
+++ b/rules/base.m_k.part
@@ -9,4 +9,6 @@
abnt2 = xfree86(abnt2)
jp106 = xfree86(jp106)
evdev = evdev
+ $macbooks = macintosh(macbook)
+ $mac = macintosh
* = xfree86
diff --git a/rules/base.m_s.part b/rules/base.m_s.part
index bdb473f..5d51a14 100644
--- a/rules/base.m_s.part
+++ b/rules/base.m_s.part
@@ -1,2 +1,3 @@
- $maclaptop = +macintosh_vndr/apple(laptop_bad_switch)
$inetkbds = +inet(%m)
+ $maclaptop = +inet(apple_laptop)
+ $mac = +inet(apple)
diff --git a/rules/base.ml_s.part b/rules/base.ml_s.part
index 637d183..5aa7898 100644
--- a/rules/base.ml_s.part
+++ b/rules/base.ml_s.part
@@ -13,6 +13,7 @@
old_macintosh $macvendorlayouts = macintosh_vndr/us(extended)+macintosh_vndr/%l%(v)
old_macintosh $nonlatin = macintosh_vndr/us(extended)+%l%(v):2
old_macintosh * = macintosh_vndr/us(extended)+%l%(v)
+ $macbooks * = pc(pc105)+%l%(v)
$mac en_US = pc(pc105)+macintosh_vndr/us(extended)
$mac $macvendorlayouts = pc(pc105)+macintosh_vndr/%l%(v)
$pcmodels intl = us(%mcompose)
diff --git a/rules/base.xml.in b/rules/base.xml.in
index 781c7c8..8cf9c8b 100644
--- a/rules/base.xml.in
+++ b/rules/base.xml.in
@@ -682,6 +682,18 @@
</model>
<model>
<configItem>
+ <name>macbook78</name>
+ <description>MacBook/MacBook Pro</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>macbook79</name>
+ <description>MacBook/MacBook Pro (Intl)</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
<name>macintosh</name>
<_description>Macintosh</_description>
</configItem>
@@ -718,12 +730,6 @@
</model>
<model>
<configItem>
- <name>power_g5</name>
- <_description>Power G5</_description>
- </configItem>
- </model>
- <model>
- <configItem>
<name>apple</name>
<_description>Apple</_description>
</configItem>
diff --git a/symbols/inet b/symbols/inet
index 6e469db..d55b923 100644
--- a/symbols/inet
+++ b/symbols/inet
@@ -2155,22 +2155,25 @@ xkb_symbols "acer_tm_800" {
// don't generate scancodes. It is possible to map them to whatever user wants.
};
-// Apple PowerMac G5
-xkb_symbols "power_g5" {
+// Apple keyboards (macbooks, powerbooks, powermac G5, etc)
+partial xkb_symbols "apple" {
+// Really brightness up/down
+ key <II65> { [ XF86BrightnessAdjust ] };
+ key <I54> { [ XF86BrightnessAdjust ] };
key <I20> { [ XF86AudioMute ] };
key <I2E> { [ XF86AudioLowerVolume ] };
key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I56> { [ XF86RotateWindows ] };
+// Really keyboard backlight off/up/down
+ key <I57> { [ XF86Launch0 ] };
+ key <I58> { [ XF86Launch1 ] };
+ key <I59> { [ XF86Launch2 ] };
key <K5D> { [ F13 ] };
key <K5E> { [ F14 ] };
key <K5F> { [ F15 ] };
key <K6C> { [ XF86Eject ] };
key <MDSW> { [ F16 ] };
-};
-
-// Apple keyboard
-partial modifier_keys
-xkb_symbols "apple" {
- key <KPEQ> { [ KP_Equal ] };
+ key <KPEQ> { [ KP_Equal ] };
};
partial modifier_keys