diff options
author | svu <svu> | 2006-08-31 21:44:12 +0000 |
---|---|---|
committer | svu <svu> | 2006-08-31 21:44:12 +0000 |
commit | 2d351a64dfe87c126a9125add0e9ad12cfc507a7 (patch) | |
tree | ee455ceefa754f86cda5bf810133e852783ea994 | |
parent | 77a034b67ce8dcfd09df9850f7823d719c56b479 (diff) | |
download | xkeyboard-config-2d351a64dfe87c126a9125add0e9ad12cfc507a7.tar.gz |
macbook pro stuff
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | geometry/macintosh | 239 | ||||
-rw-r--r-- | keycodes/evdev | 334 | ||||
-rw-r--r-- | keycodes/macintosh | 9 | ||||
-rw-r--r-- | keycodes/xfree86 | 5 | ||||
-rw-r--r-- | rules/base.lists.part | 7 | ||||
-rw-r--r-- | rules/base.m_g.part | 1 | ||||
-rw-r--r-- | rules/base.m_k.part | 2 | ||||
-rw-r--r-- | rules/base.m_s.part | 3 | ||||
-rw-r--r-- | rules/base.ml_s.part | 1 | ||||
-rw-r--r-- | rules/base.xml.in | 18 | ||||
-rw-r--r-- | symbols/inet | 19 |
12 files changed, 418 insertions, 228 deletions
@@ -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 |