I am trying to find a way to remap keyboard keys forcefully.
I tried using xmodmap and setxkbmap, but they do not work for one specific application. Such commands work for other normal windowed/applications on X tho.
I think the application may be reading the keyboard raw data and ignoring X input?
If you are interested on testing yourself, the related thread for the application is this: http://forums.thedarkmod.com/topic/14266-keyboard-issue-in-new-version-108/ The issues I have are the same: some keys (KP_Decimal, DownArrow, UpArrow, RightArrow) are ignored and considered all with the same value 0x00 at that game "The Dark Mod" (its newest version still have the same problem).
So, how to remap keys without using xmodmap and setxkbmap? if it is ever possible to be done using some software.
I also tried xkeycaps, xkbcomp, but did not try loadkeys, as it is running on X.
I found here that I could try setkeycodes, "because after assigning kernel keycode the button should work in xorg", but I also found that "you can't use 'setkeycodes' on USB keyboards", that's my case (I am interested in case someone make it work on ps2 as I think I could use an adapter).
This seemed promising "Map scancodes to keycodes", but after a few tests nothing changed, here are they:
I found keycode "36" ("j" key) at vt1 with showkey
I found scancode "7e" (keypad ".") at vt1 with showkey --scancodes
$cat >/etc/udev/hwdb.d/90-custom-keyboard.hwdb keyboard:usb:v*p* keyboard:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr* KEYBOARD_KEY_7e=36 $udevadm hwdb --update #updates file: /lib/udev/hwdb.bin $udevadm trigger #should apply the changes but nothing happened $cat /lib/udev/hwdb.bin |egrep "KEYBOARD_KEY_7e.{10}" -ao KEYBOARD_KEY_7eleftmeta $#that cat on hwdb.bin did not change after the commands.. PS.: did not work either with: KEYBOARD_KEY_7e=j