[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xkeycaps defs for Apple keyboards



So, I've added support for the two keyboards I have to xkeycaps:

* Powerbook lombard
* Apple Pro Keyboard (USB, ships with new G4s)

I've attached the patch...if you have either of these keyboards, tell
me what you think.  especially with the lombard.

try like so:
apt-get source xkeycaps
cd xkeycaps-2.46
patch -sp1 < xkeycaps-2.46-apple.diff
dpkg-buildpackage -rfakeroot
./xkeycaps

It's pretty useful, and I encourage people to add more Apple
keyboards, as it would be helpful, esp for newbies who don't like to
screw around with xmodmap :)

ttyl,

-- 
Josh Huber                                   | huber@debian.org |
                                             | Debian Developer |
1024D/6B21489A 61F0 6138 BE7B FEBF A223  E9D1 BFE1 2065 6B21 489A
diff -urN xkeycaps-2.46/kbds/all-kbds.h xkeycaps-2.46.huber/kbds/all-kbds.h
--- xkeycaps-2.46/kbds/all-kbds.h	Sun Dec 12 20:13:39 1999
+++ xkeycaps-2.46.huber/kbds/all-kbds.h	Thu Jan 25 13:04:34 2001
@@ -88,6 +88,27 @@
 #endif
 
 #ifdef KBD
+  KBD ("MacProUSB", "Apple", "Pro Keyboard USB (XFree86; US)", 0,
+       &macpro104_geom, macpro104_caps, macpro104_codes, mac_linux_input_map),
+#else
+# include "macpro104-geom.h"
+# include "macpro104-caps.h"
+# include "macpro104-codes.h"
+# include "mac-linux-input-map.h"
+#endif
+
+#ifdef KBD
+  KBD ("MacLombard", "Apple", "PowerBook [Lombard] (XFree86; US)", 0,
+       &maclombard_geom, maclombard_caps, maclombard_codes,
+       mac_linux_input_map),
+#else
+# include "maclombard-geom.h"
+# include "maclombard-caps.h"
+# include "maclombard-codes.h"
+# include "mac-linux-input-map.h"
+#endif
+
+#ifdef KBD
   KBD ("MacADB", "Apple", "Standard ADB (NetBSD; US)", 0,
        &macstd_geom, macstd_caps, macstd_codes, macstd_map),
 #else
diff -urN xkeycaps-2.46/kbds/mac-linux-input-map.h xkeycaps-2.46.huber/kbds/mac-linux-input-map.h
--- xkeycaps-2.46/kbds/mac-linux-input-map.h	Wed Dec 31 19:00:00 1969
+++ xkeycaps-2.46.huber/kbds/mac-linux-input-map.h	Thu Jan 25 14:14:45 2001
@@ -0,0 +1,131 @@
+#ifndef __MAC_LINUX_INPUT_MAP_H__
+#define __MAC_LINUX_INPUT_MAP_H__
+
+/* 
+ * This file was generated from a machine running Linux, with the new
+ * input layer enabled.  The input layer translates Apple style scancodes
+ * to PC style scancodes for better compatibility out of the box.  We
+ * still need a special map file due to the extra keys on a mac keyboard.
+ *
+ * - Josh Huber <huber@alum.wpi.edu>, 1/25/2001
+ *
+ */
+
+static const struct default_keycode_map mac_linux_input_map [] = {
+	/* these keys have keycodes but no keysyms in the default map */
+	{  93, 0, { 0 }}, /* F13 */
+	{ 133, 0, { 0 }}, /* Left Command */
+	{ 134, 0, { 0 }}, /* Right Command */
+
+	{   9, 0,		{ XK_Escape }},
+	{  10, 0,		{ XK_1,	XK_exclam }},
+	{  11, 0,		{ XK_2,	XK_at }},
+	{  12, 0,		{ XK_3,	XK_numbersign }},
+	{  13, 0,		{ XK_4,	XK_dollar }},
+	{  14, 0,		{ XK_5,	XK_percent }},
+	{  15, 0,		{ XK_6,	XK_asciicircum }},
+	{  16, 0,		{ XK_7,	XK_ampersand }},
+	{  17, 0,		{ XK_8,	XK_asterisk }},
+	{  18, 0,		{ XK_9,	XK_parenleft }},
+	{  19, 0,		{ XK_0,	XK_parenright }},
+	{  20, 0,		{ XK_minus,	XK_underscore }},
+	{  21, 0,		{ XK_equal,	XK_plus }},
+	{  22, 0,		{ XK_BackSpace }},
+	{  23, 0,		{ XK_Tab }},
+	{  24, 0,		{ XK_q,	XK_Q }},
+	{  25, 0,		{ XK_w,	XK_W }},
+	{  26, 0,		{ XK_e,	XK_E }},
+	{  27, 0,		{ XK_r,	XK_R }},
+	{  28, 0,		{ XK_t,	XK_T }},
+	{  29, 0,		{ XK_y,	XK_Y }},
+	{  30, 0,		{ XK_u,	XK_U }},
+	{  31, 0,		{ XK_i,	XK_I }},
+	{  32, 0,		{ XK_o,	XK_O }},
+	{  33, 0,		{ XK_p,	XK_P }},
+	{  34, 0,		{ XK_bracketleft,	XK_braceleft }},
+	{  35, 0,		{ XK_bracketright,	XK_braceright }},
+	{  36, 0,		{ XK_Return }},
+	{  37, ControlMask,	{ XK_Control_L }},
+	{  38, 0,		{ XK_a,	XK_A }},
+	{  39, 0,		{ XK_s,	XK_S }},
+	{  40, 0,		{ XK_d,	XK_D }},
+	{  41, 0,		{ XK_f,	XK_F }},
+	{  42, 0,		{ XK_g,	XK_G }},
+	{  43, 0,		{ XK_h,	XK_H }},
+	{  44, 0,		{ XK_j,	XK_J }},
+	{  45, 0,		{ XK_k,	XK_K }},
+	{  46, 0,		{ XK_l,	XK_L }},
+	{  47, 0,		{ XK_semicolon,	XK_colon }},
+	{  48, 0,		{ XK_apostrophe,	XK_quotedbl }},
+	{  49, 0,		{ XK_grave,	XK_asciitilde }},
+	{  50, ShiftMask,	{ XK_Shift_L }},
+	{  51, 0,		{ XK_backslash,	XK_bar }},
+	{  52, 0,		{ XK_z,	XK_Z }},
+	{  53, 0,		{ XK_x,	XK_X }},
+	{  54, 0,		{ XK_c,	XK_C }},
+	{  55, 0,		{ XK_v,	XK_V }},
+	{  56, 0,		{ XK_b,	XK_B }},
+	{  57, 0,		{ XK_n,	XK_N }},
+	{  58, 0,		{ XK_m,	XK_M }},
+	{  59, 0,		{ XK_comma,	XK_less }},
+	{  60, 0,		{ XK_period,	XK_greater }},
+	{  61, 0,		{ XK_slash,	XK_question }},
+	{  62, ShiftMask,	{ XK_Shift_R }},
+	{  63, 0,		{ XK_KP_Multiply }},
+	{  64, Mod1Mask,	{ XK_Alt_L }},
+	{  65, 0,		{ XK_space }},
+	{  66, LockMask,	{ XK_Caps_Lock }},
+	{  67, 0,		{ XK_F1,	XK_F11 }},
+	{  68, 0,		{ XK_F2,	XK_F12 }},
+	{  69, 0,		{ XK_F3,	XK_F13 }},
+	{  70, 0,		{ XK_F4,	XK_F14 }},
+	{  71, 0,		{ XK_F5,	XK_F15 }},
+	{  72, 0,		{ XK_F6,	XK_F16 }},
+	{  73, 0,		{ XK_F7,	XK_F17 }},
+	{  74, 0,		{ XK_F8,	XK_F18 }},
+	{  75, 0,		{ XK_F9,	XK_F19 }},
+	{  76, 0,		{ XK_F10,	XK_F20 }},
+	{  77, Mod2Mask,	{ XK_Num_Lock }},
+	{  78, Mod5Mask,	{ XK_Scroll_Lock }},
+	{  79, 0,		{ XK_KP_7 }},
+	{  80, 0,		{ XK_KP_8 }},
+	{  81, 0,		{ XK_KP_9 }},
+	{  82, 0,		{ XK_KP_Subtract }},
+	{  83, 0,		{ XK_KP_4 }},
+	{  84, 0,		{ XK_KP_5 }},
+	{  85, 0,		{ XK_KP_6 }},
+	{  86, 0,		{ XK_KP_Add }},
+	{  87, 0,		{ XK_KP_1 }},
+	{  88, 0,		{ XK_KP_2 }},
+	{  89, 0,		{ XK_KP_3 }},
+	{  90, 0,		{ XK_KP_0 }},
+	{  91, 0,		{ XK_KP_Decimal }},
+	{  94, 0,		{ XK_less,	XK_greater }},
+	{  95, 0,		{ XK_F11 }},
+	{  96, 0,		{ XK_F12 }},
+	{ 104, 0,		{ XK_KP_Enter }},
+	{ 105, ControlMask,	{ XK_Control_R }},
+	{ 106, 0,		{ XK_KP_Divide }},
+	{ 108, Mod1Mask,	{ XK_Alt_R }},
+	{ 109, 0,		{ XK_Break }},
+	{ 110, 0,		{ XK_Home }},
+	{ 111, 0,		{ XK_Up }},
+	{ 112, 0,		{ XK_Prior }},
+	{ 113, 0,		{ XK_Left }},
+	{ 114, 0,		{ XK_Right }},
+	{ 115, 0,		{ XK_End }},
+	{ 116, 0,		{ XK_Down }},
+	{ 117, 0,		{ XK_Next }},
+	{ 118, 0,		{ XK_Insert }},
+	{ 119, 0,		{ XK_Delete }},
+	{ 120, 0,		{ XK_Menu }},
+	{ 121, 0,		{ XK_F13 }},
+	{ 122, 0,		{ XK_F14 }},
+	{ 123, 0,		{ XK_Help }},
+	{ 124, 0,		{ XK_Execute }},
+	{ 125, 0,		{ XK_F17 }},
+	{ 126, 0,		{ XK_KP_Subtract }},
+	{ 127, 0,		{ XK_Pause }},
+};
+
+#endif
diff -urN xkeycaps-2.46/kbds/maclombard-caps.h xkeycaps-2.46.huber/kbds/maclombard-caps.h
--- xkeycaps-2.46/kbds/maclombard-caps.h	Wed Dec 31 19:00:00 1969
+++ xkeycaps-2.46.huber/kbds/maclombard-caps.h	Thu Jan 25 14:10:58 2001
@@ -0,0 +1,138 @@
+/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997
+ *  Jamie Zawinski <jwz@jwz.org>
+ *
+ * This file describes the PowerBook Lombard (1999) laptop
+ * keyboard from Apple.  There is a block of fake keys in the map
+ * to the right that shows what keys are generated when the 'fn'
+ * key is held down.
+ *
+ * - Josh Huber <huber@alum.wpi.edu>, 1/25/2001
+ */
+
+static const struct key_strings maclombard_caps [] = {
+
+  /* Row 0 */
+
+  {"Esc", 0},
+  {"F1", 0},
+  {"F2", 0},
+  {"F3", 0},
+  {"F4", 0},
+  {"F5", 0},
+  {"F6", 0},
+  {"F7", 0},
+  {"F8", 0},
+  {"F9", 0},
+  {"F10", 0},
+  {"F11", 0},
+  {"F12", 0},
+
+  /* Row 2 */
+
+  {"~", "`", 0},
+  {"!", "1", 0},
+  {"@", "2", 0},
+  {"#", "3", 0},
+  {"$", "4", 0},
+  {"%", "5", 0},
+  {"^", "6", 0},
+  {"&", "7", 0},
+  {"*", "8", 0},
+  {"(", "9", 0},
+  {")", "0", 0},
+  {"_", "-", 0},
+  {"+", "=", 0},
+  {"Delete (BS)", 0},
+  /* fn generated keys */
+  {"Home", 0},
+  {"Page", "Up", 0},
+  {"Clear", 0},
+  {"=", 0},
+  {"/", 0},
+  {"*", 0},
+
+  /* Row 3 */
+
+  {"Tab", 0},
+  {"Q", 0},
+  {"W", 0},
+  {"E", 0},
+  {"R", 0},
+  {"T", 0},
+  {"Y", 0},
+  {"U", 0},
+  {"I", 0},
+  {"O", 0},
+  {"P", 0},
+  {"{", "[", 0},
+  {"}", "]", 0},
+  {"|", "\\", 0},
+  /* fn generated keys */
+  {"End", 0},
+  {"Page", "Down", 0},
+  {"7", 0},
+  {"8", 0},
+  {"9", 0},
+  {"-", 0},
+
+  /* Row 4 */
+
+  {"Caps Lock", 0},
+  {"A", 0},
+  {"S", 0},
+  {"D", 0},
+  {"F", 0},
+  {"G", 0},
+  {"H", 0},
+  {"J", 0},
+  {"K", 0},
+  {"L", 0},
+  {":", ";", 0},
+  {"\"", "'", 0},
+  {"Return", 0},
+  /* fn generated keys */
+  {"4", 0},
+  {"5", 0},
+  {"6", 0},
+  {"+", 0},
+
+  /* Row 5 */
+
+  {"Shift", 0},
+  {"Z", 0},
+  {"X", 0},
+  {"C", 0},
+  {"V", 0},
+  {"B", 0},
+  {"N", 0},
+  {"M", 0},
+  {"<", ",", 0},
+  {">", ".", 0},
+  {"?", "/", 0},
+  {"Shift", 0},
+  /* fn generated keys */
+  {"1", 0},
+  {"2", 0},
+  {"3", 0},
+  {"Enter", 0},
+
+  /* Row 6 */
+
+  {"Fn", 0},
+  {"Ctrl", 0},
+  {"Alt", "Option", 0},
+  {"Cmd", 0},
+  {" ", 0},
+  {"enter", 0},
+  {"Alt", "Option", 0},
+  {"UpArrow", 0},
+  /* fn generated keys */
+  {"0", 0},
+  {".", 0},
+
+  /* row 7 */
+
+  {"LeftArrow", 0},
+  {"DownArrow", 0},
+  {"RightArrow", 0},
+};
diff -urN xkeycaps-2.46/kbds/maclombard-codes.h xkeycaps-2.46.huber/kbds/maclombard-codes.h
--- xkeycaps-2.46/kbds/maclombard-codes.h	Wed Dec 31 19:00:00 1969
+++ xkeycaps-2.46.huber/kbds/maclombard-codes.h	Thu Jan 25 14:12:48 2001
@@ -0,0 +1,43 @@
+/* xkeycaps, Copyright (c) 1998, 1999 Jamie Zawinski <jwz@jwz.org>
+ *
+ * This file describes the keycodes that are sent via the XFree86
+ * x server on Linux with the new USB input layer enabled, using a
+ * powerbook Lombard (1999) laptop from Apple.
+ *
+ * note: the 'fn' key does not send a keyevent to the x-server
+ *
+ * - Josh Huber <huber@alum.wpi.edu>, 1/25/2001
+ */
+
+static const KeyCode maclombard_codes [] = {
+  /* Row 1 */
+  9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96,
+
+  /* Row 2 */
+  49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+  /* fn */
+  110, 112, 77, 125, 106, 63,
+
+  /* Row 3 */
+  23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51,
+  /* fn */
+  115, 117, 79, 80, 81, 82,
+  
+  /* Row 4 */
+  66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36,
+  /* fn */
+  83, 84, 85, 86,
+
+  /* Row 5 */
+  50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 50,
+  /* fn */
+  87, 88, 89, 104,
+
+  /* Row 6 */
+  0, 37, 64, 133, 65, 104, 64, 111,
+  /* fn */
+  90, 91,
+
+  /* Row 7 -- a hack */
+  113, 116, 114,
+};
diff -urN xkeycaps-2.46/kbds/maclombard-geom.h xkeycaps-2.46.huber/kbds/maclombard-geom.h
--- xkeycaps-2.46/kbds/maclombard-geom.h	Wed Dec 31 19:00:00 1969
+++ xkeycaps-2.46.huber/kbds/maclombard-geom.h	Thu Jan 25 13:53:55 2001
@@ -0,0 +1,100 @@
+/* xkeycaps, Copyright (c) 1998, 1999 Jamie Zawinski <jwz@jwz.org>
+ *
+ * This file describes the keyboard on the Apple Powerbook G3
+ * Lombard (1999) model.  I've placed the keysyms that are emited
+ * when the 'fn' key is held in a block of keys to the right
+ * so it looks like a number pad.
+ *
+ * - Josh Huber <huber@alum.wpi.edu>, 1/25/2001
+ */
+
+static const struct key_geometry maclombard_geom_row1 [] = {
+	{14, 7},
+	{7, 0},
+	{14, 7}, {14, 7}, {14, 7}, {14, 7},
+	{7, 0},
+	{14, 7}, {14, 7}, {14, 7}, {14, 7},
+	{7, 0},
+	{14, 7}, {14, 7}, {14, 7}, {14, 7},
+};
+
+static const struct key_geometry maclombard_geom_row2 [] = {
+	{14, 14}, {14, 14}, {14, 14}, {14, 14}, {14, 14},
+	{14, 14}, {14, 14}, {14, 14}, {14, 14}, {14, 14},
+	{14, 14}, {14, 14}, {14, 14},
+	{21, 14},
+
+	/* fake keys for fn-KEY combinations */
+	{7, 0},
+	{14, 14}, {14, 14},
+	{7, 0},
+	{14, 14}, {14, 14}, {14, 14}, {14, 14},
+};
+
+static const struct key_geometry maclombard_geom_row3 [] = {
+	{21, 14},
+	{14, 14}, {14, 14}, {14, 14}, {14, 14}, {14, 14},
+	{14, 14}, {14, 14}, {14, 14}, {14, 14}, {14, 14},
+	{14, 14}, {14, 14}, {14, 14},
+
+	/* fake keys for fn-KEY combinations */
+	{7, 0},
+	{14, 14}, {14, 14},
+	{7, 0},
+	{14, 14}, {14, 14}, {14, 14}, {14, 14},
+};
+
+static const struct key_geometry maclombard_geom_row4 [] = {
+	{24, 14},
+	{14, 14}, {14, 14}, {14, 14}, {14, 14}, {14, 14}, 
+	{14, 14}, {14, 14}, {14, 14}, {14, 14}, {14, 14}, 
+	{14, 14},
+	{25, 14},
+
+	/* fake keys for fn-KEY combinations */
+	{42, 0},
+	{14, 14}, {14, 14}, {14, 14}, {14, 14},
+};
+
+static const struct key_geometry maclombard_geom_row5 [] = {
+	{31, 14},
+	{14, 14}, {14, 14}, {14, 14}, {14, 14}, {14, 14}, 
+	{14, 14}, {14, 14}, {14, 14}, {14, 14}, {14, 14}, 
+	{32, 14},
+
+	/* fake keys for fn-KEY combinations */
+	{42, 0},
+	{14, 14}, {14, 14}, {14, 14}, {14, 28},
+};
+
+static const struct key_geometry maclombard_geom_row6 [] = {
+	{14, 14}, {14, 14}, {14, 14}, {18, 14},
+	{69, 14},
+	{18, 14}, {14, 14},
+	{14, 0}, {14, 7}, {14, 0},
+
+	/* fake keys for fn-KEY combinations */
+	{42, 0},
+	{28, 14}, {14, 14},
+};
+
+/* a little hack due to apple's funny arrow keys */
+static const struct key_geometry maclombard_geom_row7 [] = {
+	{161, 0}, /* skip */
+	{14, 7}, {14, 7}, {14, 7}, /* three lower arrow keys */
+};
+
+static const struct keyboard_row_geometry maclombard_geom_rows [] = {
+  ROW (maclombard_geom_row1, 7),
+  ROW (maclombard_geom_row2, 14),
+  ROW (maclombard_geom_row3, 14),
+  ROW (maclombard_geom_row4, 14),
+  ROW (maclombard_geom_row5, 14),
+  ROW (maclombard_geom_row6, 14),
+  ROW (maclombard_geom_row7, 7),
+};
+
+static const struct keyboard_geometry maclombard_geom = {
+  sizeof (maclombard_geom_rows) / sizeof (struct keyboard_row_geometry),
+  maclombard_geom_rows, 3, 3, 3
+};
diff -urN xkeycaps-2.46/kbds/macpro104-caps.h xkeycaps-2.46.huber/kbds/macpro104-caps.h
--- xkeycaps-2.46/kbds/macpro104-caps.h	Wed Dec 31 19:00:00 1969
+++ xkeycaps-2.46.huber/kbds/macpro104-caps.h	Thu Jan 25 12:06:11 2001
@@ -0,0 +1,137 @@
+/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997
+ *  Jamie Zawinski <jwz@jwz.org>
+ *
+ * This file describes the surface of the Apple "Pro Keyboard". It
+ * is based on the pc104 caps header file.
+ *
+ * - Josh Huber <huber@alum.wpi.edu>, 1/25/2001
+ */
+
+static const struct key_strings macpro104_caps [] = {
+
+  /* Row 0 */
+
+  {"Esc", 0},
+  {"F1", 0},
+  {"F2", 0},
+  {"F3", 0},
+  {"F4", 0},
+  {"F5", 0},
+  {"F6", 0},
+  {"F7", 0},
+  {"F8", 0},
+  {"F9", 0},
+  {"F10", 0},
+  {"F11", 0},
+  {"F12", 0},
+  {"F13", 0},
+  {"F14", 0},
+  {"F15", 0},
+  {"Vol", " - ", 0},
+  {"Vol", " + ", 0},
+  {"Vol", "Mute", 0},
+  {"Eject", 0},
+
+  /* Row 2 */
+
+  {"~", "`", 0},
+  {"!", "1", 0},
+  {"@", "2", 0},
+  {"#", "3", 0},
+  {"$", "4", 0},
+  {"%", "5", 0},
+  {"^", "6", 0},
+  {"&", "7", 0},
+  {"*", "8", 0},
+  {"(", "9", 0},
+  {")", "0", 0},
+  {"_", "-", 0},
+  {"+", "=", 0},
+  {"Delete (BS)", 0},
+  {"Help", 0},
+  {"Home", 0},
+  {"Page", "Up", 0},
+  {"NL", "Clear", 0},
+  {"=", 0},
+  {"/", 0},
+  {"*", 0},
+
+  /* Row 3 */
+
+  {"Tab", 0},
+  {"Q", 0},
+  {"W", 0},
+  {"E", 0},
+  {"R", 0},
+  {"T", 0},
+  {"Y", 0},
+  {"U", 0},
+  {"I", 0},
+  {"O", 0},
+  {"P", 0},
+  {"{", "[", 0},
+  {"}", "]", 0},
+  {"|", "\\", 0},
+  {"Del", "[X]", 0},
+  {"End", 0},
+  {"Page", "Down", 0},
+  {"7", 0},
+  {"8", 0},
+  {"9", 0},
+  {"-", 0},
+
+  /* Row 4 */
+
+  {"Caps Lock", 0},
+  {"A", 0},
+  {"S", 0},
+  {"D", 0},
+  {"F", 0},
+  {"G", 0},
+  {"H", 0},
+  {"J", 0},
+  {"K", 0},
+  {"L", 0},
+  {":", ";", 0},
+  {"\"", "'", 0},
+  {"Return", 0},
+  {"4", 0},
+  {"5", 0},
+  {"6", 0},
+  {"+", 0},
+
+  /* Row 5 */
+
+  {"Shift", 0},
+  {"Z", 0},
+  {"X", 0},
+  {"C", 0},
+  {"V", 0},
+  {"B", 0},
+  {"N", 0},
+  {"M", 0},
+  {"<", ",", 0},
+  {">", ".", 0},
+  {"?", "/", 0},
+  {"Shift", 0},
+  {"UpArrow", 0},
+  {"1", 0},
+  {"2", 0},
+  {"3", 0},
+  {"Enter", 0},
+
+  /* Row 6 */
+
+  {"Ctrl", 0},
+  {"Alt", "Option", 0},
+  {"Cmd", 0},
+  {" ", 0},
+  {"Cmd", 0},
+  {"Alt", "Option", 0},
+  {"Ctrl", 0},
+  {"LeftArrow", 0},
+  {"DownArrow", 0},
+  {"RightArrow", 0},
+  {"0", 0},
+  {".", 0}
+};
diff -urN xkeycaps-2.46/kbds/macpro104-codes.h xkeycaps-2.46.huber/kbds/macpro104-codes.h
--- xkeycaps-2.46/kbds/macpro104-codes.h	Wed Dec 31 19:00:00 1969
+++ xkeycaps-2.46.huber/kbds/macpro104-codes.h	Thu Jan 25 12:06:11 2001
@@ -0,0 +1,48 @@
+/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997
+ *  Jamie Zawinski <jwz@jwz.org>
+ *
+ * This file describes the Apple Pro Keyboard on Linux with
+ * X Free 4.x, using the new USB input layer in the kernel.  This
+ * translates the keysyms to intel-ish style, so most things do
+ * not have to be changed.  This keyboard however has a slightly
+ * different layout than a standard PC keyboard, and a few different
+ * keys.
+ *
+ * - Josh Huber <huber@alum.wpi.edu>, 1/25/2001
+ */
+
+static const KeyCode macpro104_codes [] = {
+  /* Row 0 */
+  9,
+  67, 68, 69, 70,
+  71, 72, 73, 74,
+  75, 76, 95, 96,
+  93, 123, 127,
+  0, 0, 0, 0, /* these keys do nothing right now! */
+
+  /* Row 1 -- no space here on the Apple Pro Keyboard */
+  49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+  118, 110, 112,
+  77, 125, 106, 63,
+
+  /* Row 2 */
+  23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51,
+  119, 115, 117,
+  79, 80, 81, 82,
+  
+  /* Row 3 */
+  66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36,
+  83, 84, 85, 86,
+
+  /* Row 4 */
+  50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 
+  111,
+  87, 88, 89, 104,
+
+  /* Row 5 */
+  37, 64, 133,
+  65,
+  134, 108, 105,
+  113, 116, 114,
+  90, 91
+};
diff -urN xkeycaps-2.46/kbds/macpro104-geom.h xkeycaps-2.46.huber/kbds/macpro104-geom.h
--- xkeycaps-2.46/kbds/macpro104-geom.h	Wed Dec 31 19:00:00 1969
+++ xkeycaps-2.46.huber/kbds/macpro104-geom.h	Thu Jan 25 12:06:11 2001
@@ -0,0 +1,68 @@
+/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997
+ * Jamie Zawinski <jwz@jwz.org>
+ *
+ * This file describes the layout of the Apple "Pro Keyboard".  This is 
+ * a USB keyboard that is shipping with the G4 desktop machines.
+ * This file is based on the pc104 layout. (short enter [return] key,
+ * wide backspace key.)
+ *
+ * - Josh Huber <huber@alum.wpi.edu>, 1/25/2001
+ */
+
+static const struct key_geometry macpro104_geom_row0 [] = {
+ {7, 7}, {5, 0},
+ {7, 7}, {7, 7}, {7, 7}, {7, 7}, {5, 0},
+ {7, 7}, {7, 7}, {7, 7}, {7, 7}, {5, 0},
+ {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0},
+ {7, 7}, {7, 7}, {7, 7}, {4, 0},
+ {7, 7}, {7, 7}, {7, 7}, {7, 7},
+};
+
+static const struct key_geometry macpro104_geom_row1 [] = {
+ {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7},
+ {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0},
+ {7, 7}, {7, 7}, {7, 7}, {4, 0},
+ {7, 7}, {7, 7}, {7, 7}, {7, 7}
+};
+
+static const struct key_geometry macpro104_geom_row2 [] = {
+ {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7},
+ {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 7}, {4, 0},
+ {7, 7}, {7, 7}, {7, 7}, {4, 0},
+ {7, 7}, {7, 7}, {7, 7}, {7, 7}
+};
+
+static const struct key_geometry macpro104_geom_row3 [] = {
+ {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7},
+ {7, 7}, {7, 7}, {7, 7}, {16, 7}, {29, 0},
+ {7, 7}, {7, 7}, {7, 7}, {7, 7},
+};
+
+static const struct key_geometry macpro104_geom_row4 [] = {
+ {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7},
+ {7, 7}, {7, 7}, {20, 7}, {11, 0},
+ {7, 7}, {11, 0},
+ {7, 7}, {7, 7}, {7, 7}, {7, 14}
+};
+
+static const struct key_geometry macpro104_geom_row5 [] = {
+ {10, 7}, {9, 7},
+ {11, 7}, {46, 7}, {11, 7}, {9, 7}, {10, 7},
+ {4, 0},
+ {7, 7}, {7, 7}, {7, 7}, {4, 0},
+ {14, 7}, {7, 7}
+};
+
+static const struct keyboard_row_geometry macpro104_geom_rows [] = {
+  ROW (macpro104_geom_row0, 7),
+  ROW (macpro104_geom_row1, 7),
+  ROW (macpro104_geom_row2, 7),
+  ROW (macpro104_geom_row3, 7),
+  ROW (macpro104_geom_row4, 7),
+  ROW (macpro104_geom_row5, 7),
+};
+
+static const struct keyboard_geometry macpro104_geom = {
+  sizeof (macpro104_geom_rows) / sizeof (struct keyboard_row_geometry),
+  macpro104_geom_rows, 6, 3, 3
+};

Attachment: pgpPw1ZONLfmx.pgp
Description: PGP signature


Reply to: