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