Hi X-Folks, I've written an geometry file for the apple ibook2. Included is the patch to the xkb directory of the actual xlibs package in sid. I hope it will be useful to a bunch of beginners. I'm not subscribed to the list, so If you like to hear from me, cc to me.
Eric Böse-Wolf
diff -uNr xkb.orig/geometry/ibook2 xkb.new/geometry/ibook2 --- xkb.orig/geometry/ibook2 1970-01-01 01:00:00.000000000 +0100 +++ xkb.new/geometry/ibook2 2003-02-18 16:54:08.000000000 +0100 @@ -0,0 +1,173 @@ +// $XFree86: xc/programs/xkbcomp/geometry/macintosh,v 1.1 1999/05/23 05:27:50 dawes Exp $ +default xkb_geometry "ibook2" { + + description= "ibook2"; + width= 277; + height= 110; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "ALPHA" { { [ 18,9] }, { [2,0.5], [ 16,8] } }; + shape "SPCL" { { [ 18.5,20] }, { [2,1], [ 17, 19] } }; + shape "META" { { [ 22,20] }, { [2,1], [ 21, 19] } }; + shape "BKSP" { { [ 29.2,18] }, { [2,1], [ 28,17] } }; + + shape "TAB" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,17] } }; + + shape "RTRN" { { [ 0,0], [19,0], [19,37], [4,37], [4,18], [0,18] }, + { [ 1,0.5], [18,0.5], [18,36], [5,36], [5,17], [1,17] } }; + + shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } }; + shape "LCTL" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "LALT" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "LFSH" { { [ 23.6,18] }, { [2,1], [ 22,17] } }; + shape "RCTL" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "RALT" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "RTSH" { { [ 43,18] }, { [2,1], [ 42,17] } }; + shape "SPCE" { { [92.8,20] }, { [2,1], [91.8,19] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } }; + shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } }; + + shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 5, 1 ] } }; + +// solid "LedPanel" { +// shape= "LEDS"; +// top= 52; +// left= 375; +// }; + +// indicator.onColor= "green"; +// indicator.offColor= "green30"; +// indicator.top= 67; +// indicator.shape= "LED"; +// indicator "NumLock" { left= 379; }; +// indicator "CapsLock" { left= 404; }; +// indicator "ScrollLock" { left= 429; }; +text.top= 95; +text.color= "black"; +text "FN" { left= 9; text="FN"; }; +// text "CapsLockLabel" { left= 403; text="Caps\nLock"; }; +// text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; }; + + section.left= 0; + row.left= 1; + key.shape= "NORM"; + key.gap= 0.7; + + section "Function" { + top= 2; + row { + top= 1; + keys { { <ESC>, "ALPHA" }, + { shape= "ALPHA", gap= 9.7, <FK01> }, + { <FK02>, "ALPHA" }, + { <FK03>, "ALPHA" }, + { <FK04>, "ALPHA" }, + { <FK05>, "ALPHA" }, + { shape= "ALPHA", gap= 10.4, <FK06> }, + { <FK07>, "ALPHA" }, + { <FK08>, "ALPHA" }, + { <FK09>, "ALPHA" }, + { <FK10>, "ALPHA" }, + { <FK11>, "ALPHA" }, + { shape= "ALPHA", gap= 11.9, <FK12> } + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 12; + row { + top= 1; + keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>, + <AE05>, <AE06>, <AE07>, <AE08>, <AE09>, + <AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" } + }; + }; + row { + top= 20; + keys { { <TAB>, "TAB" }, <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>, "SPCL" }, + { <LCTL>, "SPCL" }, + { <LALT>, "SPCL" }, + { <RALT>, "META" }, + { <SPCE>, "SPCE" }, + { <RALT>, "META" }, + { <KPEN>, "SPCL" } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 12; + left= 216.7; +// row { +// top= 1; +// keys { <INS>, <HOME>, <PGUP> }; +// }; +// row { +// top= 20; +// keys { <DELE>, <END>, <PGDN> }; +// }; + row { + top= 77; + left= 19.65; + keys { { <UP>, "ALPHA" } }; + }; + row { + top= 87; + keys { { <LEFT>, "ALPHA" }, + { <DOWN>, "ALPHA" }, + { <RGHT>, "ALPHA" } }; + }; + }; // End of "Editing" section +// +// // Begin of "Keypad" section +// section "Keypad" { +// top= 91; +// left= 375; +// row { +// top= 1; +// keys { <NMLK>, <KPEQ>, <KPDV>, <KPMU> }; +// }; +//row { +// top= 20; +// keys { <KP7>, <KP8>, <KP9>, <KPSU> }; +// }; +// row { +// top= 39; +// keys { <KP4>, <KP5>, <KP6>, <KPAD> }; +// }; +// row { +// top= 58; +// keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN" } }; +// }; +// row { +// top= 77; +// keys { { <KP0>, "KP0" }, <KPDL> }; +// }; +// }; // End of "Keypad" section + +}; // End of "default" geometry diff -uNr xkb.orig/geometry.dir xkb.new/geometry.dir --- xkb.orig/geometry.dir 2003-02-18 16:02:04.000000000 +0100 +++ xkb.new/geometry.dir 2003-02-18 16:58:13.000000000 +0100 @@ -19,6 +19,7 @@ -d------ -------- keytronic(FlexPro) -d------ -------- kinesis(model100) -d------ -------- macintosh(macintosh) +-d------ -------- ibook2(ibook2) -d------ -------- microsoft(natural) -d------ -------- nec(pc98) -d------ -------- northgate(omnikey101) diff -uNr xkb.orig/keycodes/ibook2 xkb.new/keycodes/ibook2 --- xkb.orig/keycodes/ibook2 1970-01-01 01:00:00.000000000 +0100 +++ xkb.new/keycodes/ibook2 2003-02-18 17:06:02.000000000 +0100 @@ -0,0 +1,357 @@ +// $Xorg: xfree86,v 1.3 2000/08/17 19:54:37 cpqbld Exp $ + + + + +// $XFree86: xc/programs/xkbcomp/keycodes/xfree86,v 3.15 2001/01/17 23:45:51 dawes Exp $ + +// "standard" XFree86 codes, modified for ibook2 +// It seems that the "default" must be the first entry in the file. + +default xkb_keycodes "ibook2" { + include "ibook2(basic)" + <BKSL> = 51; + <LSGT> = 94; +}; + +xkb_keycodes "basic" { + + minimum= 8; + maximum= 255; + + <TLDE> = 49; + <AE01> = 10; + <AE02> = 11; + <AE03> = 12; + <AE04> = 13; + <AE05> = 14; + <AE06> = 15; + <AE07> = 16; + <AE08> = 17; + <AE09> = 18; + <AE10> = 19; + <AE11> = 20; + <AE12> = 21; + <BKSP> = 22; + + <TAB> = 23; + <AD01> = 24; + <AD02> = 25; + <AD03> = 26; + <AD04> = 27; + <AD05> = 28; + <AD06> = 29; + <AD07> = 30; + <AD08> = 31; + <AD09> = 32; + <AD10> = 33; + <AD11> = 34; + <AD12> = 35; + <RTRN> = 36; + + <CAPS> = 66; + <AC01> = 38; + <AC02> = 39; + <AC03> = 40; + <AC04> = 41; + <AC05> = 42; + <AC06> = 43; + <AC07> = 44; + <AC08> = 45; + <AC09> = 46; + <AC10> = 47; + <AC11> = 48; + + <LFSH> = 50; + <AB01> = 52; + <AB02> = 53; + <AB03> = 54; + <AB04> = 55; + <AB05> = 56; + <AB06> = 57; + <AB07> = 58; + <AB08> = 59; + <AB09> = 60; + <AB10> = 61; + <RTSH> = 62; + + // ALT key should be Alt + <LALT> = 64; + // Right ALT key is AltGr, this gets mapped to the Apple key + <RALT> = 115; + + <LCTL> = 37; + <SPCE> = 65; + // These don't work for me, right keys give the same keycodes as left keys + <RCTL> = 109; + + <ESC> = 9; + <FK01> = 67; + <FK02> = 68; + <FK03> = 69; + <FK04> = 70; + <FK05> = 71; + <FK06> = 72; + <FK07> = 73; + <FK08> = 74; + <FK09> = 75; + <FK10> = 76; + <FK11> = 95; + <FK12> = 96; + + <PRSC> = 111; + <SYRQ> = 92; + <SCLK> = 78; + <PAUS> = 110; + <BRK> = 114; + + <INS> = 106; + <HOME> = 97; + <PGUP> = 99; + <DELE> = 107; + <END> = 103; + <PGDN> = 105; + + <UP> = 98; + <LEFT> = 100; + <DOWN> = 104; + <RGHT> = 102; + + <NMLK> = 77; + <KPDV> = 112; + <KPMU> = 63; + <KPSU> = 82; + + <KP7> = 79; + <KP8> = 80; + <KP9> = 81; + <KPAD> = 86; + + <KP4> = 83; + <KP5> = 84; + <KP6> = 85; + + <KP1> = 87; + <KP2> = 88; + <KP3> = 89; + <KPEN> = 108; + + <KP0> = 90; + <KPDL> = 91; + + <FK13> = 118; + <FK14> = 119; + <FK15> = 120; + <FK16> = 121; + <FK17> = 122; + <KPDC> = 123; + + // Keys that are generated on Japanese keyboards + + alias <HZTG> = <TLDE>; // Hankaku_Zenkaku toggle + alias <HKTG> = <FK15>; // Hiragana_Katakana toggle + alias <AB11> = <KPDC>; // backslash/underscore + <XFER> = 129; // Henkan + <NFER> = 131; // Muhenkan + <AE13> = 133; // Yen + + // Keys that are generated on Japanese and Brazillian keyboards + alias <AC12> = <BKSL>; + + // 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. + + alias <XFER> = <I01>; + <I02> = 130; + alias <NFER> = <I03>; + <I04> = 132; + alias <AE13> = <I05>; + <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; + // <I1D> = 157; + <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; + <I2B> = 171; + <I2C> = 172; + <I2D> = 173; + <I2E> = 174; + <I2F> = 175; + <I30> = 176; + <I31> = 177; + <I32> = 178; + <I33> = 179; + <I34> = 180; + // <I35> = 181; + // <I36> = 182; + // <I37> = 183; + // <I38> = 184; + <I39> = 185; + <I3A> = 186; + <I3B> = 187; + <I3C> = 188; + // <I3D> = 189; + // <I3E> = 190; + // <I3F> = 191; + // <I40> = 192; + // <I41> = 193; + <I42> = 194; + <I43> = 195; + <I44> = 196; + <I45> = 197; + // <I46> = 198; + // <I47> = 199; + // <I48> = 200; + // <I49> = 201; + <I4A> = 202; + // <I4B> = 203; + // <I4C> = 204; + // <I4D> = 205; + // <I4E> = 206; + // <I4F> = 207; + // <I50> = 208; + // <I51> = 209; + // <I52> = 210; + // <I53> = 211; + <I54> = 212; + <I55> = 213; + <I56> = 214; + <I57> = 215; + <I58> = 216; + <I59> = 217; + <I5A> = 218; + // <I5B> = 219; + // <I5C> = 220; + // <I5D> = 221; + <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; + + // Other codes never generated. The XFree86 ddx never generates + // these codes. + + // <U5D> = 93; + // <U7C> = 124; + // <U7D> = 125; + // <U7E> = 126; + // <U7F> = 127; + // <U80> = 128; + + indicator 1 = "Caps Lock"; + indicator 2 = "Num Lock"; + indicator 3 = "Scroll Lock"; + + alias <ALGR> = <RALT>; +}; + +// What keyboard is this? + +xkb_keycodes "102" { + include "xfree86(xfree86)" + + // There will be warnings from xkbcomp because of multiple definitions. + + <RALT> = 122; + <RCTL> = 123; + + <PRSC> = 121; + <PAUS> = 118; + + <INS> = 131; + <HOME> = 135; + <PGUP> = 119; + <DELE> = 129; + <END> = 130; + <PGDN> = 134; + + <UP> = 128; + <LEFT> = 132; + <DOWN> = 120; + <RGHT> = 133; + + <KPDV> = 125; + + <KPEN> = 124; +}; + + +// For japanese 106 keyboard. by tsuka([EMAIL PROTECTED]) +// +// All of the keycodes here are now in the basic "xfree86" set. +// +xkb_keycodes "jp106" { + include "xfree86(xfree86)" +}; + + +// For brazilian ABNT2 keyboard. by Ricardo Y. Igarashi([EMAIL PROTECTED]) +xkb_keycodes "abnt2" { + include "xfree86(basic)" + <BKSL> = 94; +}; + + diff -uNr xkb.orig/keycodes.dir xkb.new/keycodes.dir --- xkb.orig/keycodes.dir 2003-02-18 16:02:05.000000000 +0100 +++ xkb.new/keycodes.dir 2003-02-18 16:58:53.000000000 +0100 @@ -19,6 +19,7 @@ -------- -------- ibm(rs6k-101) -------- -------- ibm(rs6k-102) -d------ -------- macintosh(macintosh) +-d------ -------- ibook2(ibook2) -d------ -------- powerpcps2(powerpcps2) -------- -------- sony(nwp5461) -d------ -------- xfree86(xfree86) diff -uNr xkb.orig/rules/xfree86 xkb.new/rules/xfree86 --- xkb.orig/rules/xfree86 2003-02-18 16:02:05.000000000 +0100 +++ xkb.new/rules/xfree86 2003-02-18 16:53:28.000000000 +0100 @@ -33,6 +33,7 @@ rapidaccess = xfree86 pc(pc104) rapidaccess2 = xfree86 pc(pc104) chicony = xfree86 pc(pc104) + ibook2 = ibook2 ibook2(ibook2) dell = xfree86 pc(pc104) macintosh = xfree86 macintosh(macintosh) macintosh_old = macintosh macintosh(macintosh) @@ -54,6 +55,7 @@ pc102 nodeadkeys = en_US(pc102%_v)+%l%(v) pc104 nodeadkeys = en_US(pc104%_v)+%l%(v) pc105 nodeadkeys = en_US(pc105%_v)+%l%(v) + ibook2 nodeadkeys = macintosh/us(extended)+macintosh/%l%(v) microsoft nodeadkeys = en_US(pc104%_v)+%l%(v) macintosh nodeadkeys = macintosh/us(extended)+macintosh/%l%(v) powerpcps2 nodeadkeys = en_US(pc104%_v)+%l%(v) @@ -119,6 +121,9 @@ rapidaccess2 en_US = en_US(pc104)+inet(rapidaccess2) rapidaccess2 * = en_US(pc104)+inet(rapidaccess2)+%l%(v) chicony us = us(pc104)+inet(chicony) + ibook2 us = macintosh/us(extended) + ibook2 en_US = macintosh/us(extended) + ibook2 * = macintosh/us(extended)+macintosh/%l%(v) chicony en_US = en_US(pc104)+inet(chicony) chicony * = en_US(pc104)+inet(chicony)+%l%(v) dell us = us(pc104)+inet(dell) diff -uNr xkb.orig/rules/xfree86.lst xkb.new/rules/xfree86.lst --- xkb.orig/rules/xfree86.lst 2003-02-18 16:02:05.000000000 +0100 +++ xkb.new/rules/xfree86.lst 2003-02-18 16:57:45.000000000 +0100 @@ -32,6 +32,7 @@ rapidaccess2 IBM Rapid Access II chicony Chicony Internet Keyboard dell Dell Internet Keyboard + ibook2 Apple IBook Keyboard // The entries here should be ordered as follows:
-- Bitte senden Sie mir keine Word- oder PowerPoint-Anhänge. Siehe http://www.fsf.org/philosophy/no-word-attachments.de.html Peitsch mich, schlag mich, lass mich ipchains verwenden.