Patch for keyboard (delete key)
Enio Schutt Jr
enio.s.jr at operamail.com
Sat Dec 21 12:29:42 CST 2002
Sending patch to solve a problem with delete key.
Here is the patch and the changelog
PATCH
--- key-orig.c Sat Dec 21 10:55:06 2002
+++ novo-key.c Sat Dec 21 15:42:42 2002
@@ -844,11 +844,30 @@
XLookupString(e, NULL, 0, &keysym, NULL);
- if ((keysym >= 0xFFAE) && (keysym <= 0xFFB9) && (keysym != 0xFFAF)
- && (e->state & NumLockMask))
+ /* these fixmes allow you to see keysyms and keycodes
+ FIXME("keysym is %X\n",keysym);
+ FIXME("e->keycode is %X\n",e->keycode); */
+
+ /* about the numbers below:
+ 0xFF9F: middle keyboard delete (keysym)
+ 0x2C : keypad delete (keysym)
+ 0x3B : comma (keycode)
+ */
+
+ if ( ((keysym == 0xFF9F) || (keysym == 0x2C))
+ && (e->state & NumLockMask))
+ {
+ if (keysym == 0xFF9F)
+ return nonchar_key_vkey[keysym & 0xFF];
+ if (keysym == 0x2C)
+ return keyc2vkey[0x3B];
+ }
+
+ if ((keysym >= 0xFFAE) && (keysym <= 0xFFB9) && (keysym != 0xFFAF)
+ && (e->state & NumLockMask))
/* Only the Keypad keys 0-9 and . send different keysyms
* depending on the NumLock state */
- return nonchar_key_vkey[keysym & 0xFF];
+ return nonchar_key_vkey[keysym & 0xFF];
return keyc2vkey[e->keycode];
}
-end-of-patch-
NOTES/CHANGELOG
It was added some code to the EVENT_event_to_vkey function. Its purpose is to make the delete keys (both of them) work properly with my ABNT keyboard. In ABNT keyboards, instead of del + '.' we have del + ','
The problem I was having is that when pressing the delete key, (no matter which one of them) wine generated del + ',' i.e. two keystrokes at once with numlock on.
This code worked for me, but I dont know how it will interfere with another keyboard layouts, and if another keyboards with del + ',' will have the same numbers (keycodes and keysyms) which I have coded in this patch.
BTW: key-orig.c is my backup file and novo-key.c is my actual dlls/x11drv/keyboard.c
--
_______________________________________________
Get your free email from http://mymail.operamail.com
Powered by Outblaze
More information about the wine-patches
mailing list