aboutsummaryrefslogtreecommitdiffstats
path: root/x11-drivers
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2007-10-25 04:13:25 +0800
committermarius <marius@FreeBSD.org>2007-10-25 04:13:25 +0800
commitf988c42631509de7e29aabaf7354bf97c12a982f (patch)
tree7225aade44eddb1424a942150312f818f11d3e0c /x11-drivers
parentd8a4cbe9bbe021d810f218bc17d36ebed2d12bb7 (diff)
downloadfreebsd-ports-gnome-f988c42631509de7e29aabaf7354bf97c12a982f.tar.gz
freebsd-ports-gnome-f988c42631509de7e29aabaf7354bf97c12a982f.tar.zst
freebsd-ports-gnome-f988c42631509de7e29aabaf7354bf97c12a982f.zip
Re-add patch-at_scancode.c and patch-bsd_kbd.c, which prior to
X.org 7.3 applied to the xorg-server port, so the special keys of Sun USB keyboards can be used with the sun_usb XKB symbols map and the LEDs of Sun RS232 keyboards work again. Approved by: flz
Diffstat (limited to 'x11-drivers')
-rw-r--r--x11-drivers/xf86-input-keyboard/Makefile1
-rw-r--r--x11-drivers/xf86-input-keyboard/files/patch-at_scancode.c31
-rw-r--r--x11-drivers/xf86-input-keyboard/files/patch-bsd_kbd.c33
3 files changed, 65 insertions, 0 deletions
diff --git a/x11-drivers/xf86-input-keyboard/Makefile b/x11-drivers/xf86-input-keyboard/Makefile
index c4f014b0c3be..6f29e6033b91 100644
--- a/x11-drivers/xf86-input-keyboard/Makefile
+++ b/x11-drivers/xf86-input-keyboard/Makefile
@@ -7,6 +7,7 @@
PORTNAME= xf86-input-keyboard
PORTVERSION= 1.2.2
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-keyboard/files/patch-at_scancode.c b/x11-drivers/xf86-input-keyboard/files/patch-at_scancode.c
new file mode 100644
index 000000000000..4a24423e4f33
--- /dev/null
+++ b/x11-drivers/xf86-input-keyboard/files/patch-at_scancode.c
@@ -0,0 +1,31 @@
+--- src/at_scancode.c.orig Sun Jul 3 09:01:35 2005
++++ src/at_scancode.c Sat Oct 7 21:27:29 2006
+@@ -84,6 +84,10 @@
+ case KEY_Prefix0:
+ pKbd->scanPrefix = 0;
+ switch (*scanCode) {
++ case 0x1e: *scanCode = KEY_AudioRaise;break;
++ case 0x1f: *scanCode = KEY_AudioLower;break;
++ case 0x20: *scanCode = KEY_Power; break;
++ case 0x25: *scanCode = KEY_Mute; break;
+ case KEY_KP_7: *scanCode = KEY_Home; break; /* curs home */
+ case KEY_KP_8: *scanCode = KEY_Up; break; /* curs up */
+ case KEY_KP_9: *scanCode = KEY_PgUp; break; /* curs pgup */
+@@ -103,6 +107,17 @@
+ case 0x5b: *scanCode = KEY_LMeta; break;
+ case 0x5c: *scanCode = KEY_RMeta; break;
+ case 0x5d: *scanCode = KEY_Menu; break;
++ case 0x5e: *scanCode = KEY_L1; break; /* stop */
++ case 0x5f: *scanCode = KEY_L2; break; /* again */
++ case 0x60: *scanCode = KEY_L3; break; /* props */
++ case 0x61: *scanCode = KEY_L4; break; /* undo */
++ case 0x62: *scanCode = KEY_L5; break; /* front */
++ case 0x63: *scanCode = KEY_L6; break; /* copy */
++ case 0x64: *scanCode = KEY_L7; break; /* open */
++ case 0x65: *scanCode = KEY_L8; break; /* paste */
++ case 0x66: *scanCode = KEY_L9; break; /* find */
++ case 0x67: *scanCode = KEY_L10; break; /* cut */
++ case 0x68: *scanCode = KEY_Help; break;
+ case KEY_F3: *scanCode = KEY_F13; break;
+ case KEY_F4: *scanCode = KEY_F14; break;
+ case KEY_F5: *scanCode = KEY_F15; break;
diff --git a/x11-drivers/xf86-input-keyboard/files/patch-bsd_kbd.c b/x11-drivers/xf86-input-keyboard/files/patch-bsd_kbd.c
new file mode 100644
index 000000000000..cc82bd4dde9a
--- /dev/null
+++ b/x11-drivers/xf86-input-keyboard/files/patch-bsd_kbd.c
@@ -0,0 +1,33 @@
+--- src/bsd_kbd.c.orig Mon Oct 3 18:46:14 2005
++++ src/bsd_kbd.c Fri Sep 29 23:26:17 2006
+@@ -74,6 +74,17 @@
+ KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
+ int real_leds = 0;
+
++#if defined (SYSCONS_SUPPORT)
++ if (pKbd->sunKbd) {
++ if (leds & 0x08) real_leds |= XLED1;
++ if (leds & 0x04) real_leds |= XLED4;
++ if (leds & 0x02) real_leds |= XLED3;
++ if (leds & 0x01) real_leds |= XLED2;
++ leds = real_leds;
++ real_leds = 0;
++ }
++#endif
++
+ #ifdef LED_CAP
+ if (leds & XLED1) real_leds |= LED_CAP;
+ #endif
+@@ -82,8 +93,12 @@
+ #endif
+ #ifdef LED_SCR
+ if (leds & XLED3) real_leds |= LED_SCR;
++#ifdef LED_COMP
++ if (leds & XLED4) real_leds |= LED_COMP;
++#else
+ if (leds & XLED4) real_leds |= LED_SCR;
+ #endif
++#endif
+
+ switch (pKbd->consType) {
+