Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37841465
en ru br
Репозитории ALT
4.0: 7.3.0-alt1
3.0: 6.8.2-alt18
+updates:6.8.2-alt24
www.altlinux.org/Changes

Группа :: Система/X11
Пакет: xorg-x11

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: xorg-x11-6.8.2-cvs-keycode-translations.patch
Скачать


--- xorg-x11-6.8.2/xc/programs/Xserver/hw/xfree86/input/keyboard/kbd.c	2005-04-28 17:57:18 +0400
+++ xorg-x11-6.8.1.99/xc/programs/Xserver/hw/xfree86/input/keyboard/kbd.c	2005-05-10 20:12:44 +0400
@@ -204,6 +204,10 @@
     pInfo->type_name = XI_KEYBOARD;
     pInfo->flags = XI86_KEYBOARD_CAPABLE;
     pInfo->device_control = KbdProc;
+    /*
+     * We don't specify our own read_input function. We expect
+     * an OS specific readInput() function to handle this.
+     */
     pInfo->read_input = NULL;
     pInfo->motion_history_proc = NULL;
     pInfo->history_size = 0;
@@ -537,6 +541,10 @@
   unsigned long changeLock = 0;
   static int  lockkeys = 0;
 
+#ifdef DEBUG
+  ErrorF("kbd driver rec scancode: 0x02%x %s\n", scanCode, down?"down":"up");
+#endif
+	  
   /* Disable any keyboard processing while in suspend */
   if (xf86inSuspend)
       return;
@@ -596,10 +604,12 @@
    * they need to get the same key code as the base key on the same
    * physical keyboard key.
    */
-  if (scanCode == KEY_SysReqest)
-    scanCode = KEY_Print;
-  else if (scanCode == KEY_Break)
-    scanCode = KEY_Pause;
+  if (!xf86IsPc98()) {
+    if (ModifierDown(AltMask) && (scanCode == KEY_SysReqest))
+      scanCode = KEY_Print;
+    else if (scanCode == KEY_Break)
+      scanCode = KEY_Pause;
+  }
 #endif
 
   /*
--- xorg-x11-6.8.2/xc/programs/Xserver/hw/xfree86/os-support/shared/at_scancode.c	2005-04-28 17:57:33 +0400
+++ xorg-x11-6.8.1.99/xc/programs/Xserver/hw/xfree86/os-support/shared/at_scancode.c	2005-05-10 20:12:47 +0400
@@ -43,6 +43,9 @@
              case KEY_Prefix1:
                   pKbd->scanPrefix = *scanCode;  /* special prefixes */
                   return TRUE;
+          }
+          if (!xf86IsPc98()) {
+            switch (*scanCode) {
              case 0x59: *scanCode = KEY_0x59; break;
              case 0x5a: *scanCode = KEY_0x5A; break;
              case 0x5b: *scanCode = KEY_0x5B; break;
@@ -71,6 +74,7 @@
              case 0x74: *scanCode = KEY_0x74; break;
              case 0x75: *scanCode = KEY_0x75; break;
              case 0x76: *scanCode = KEY_0x76; break;
+            }
           }
           break;
        case KEY_Prefix0:
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin