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](http://forums.linuxmint.com/viewtopic.php?f=49&t=55029) that I could try `setkeycodes`, ["because after assigning kernel keycode the button should work in xorg"](https://bbs.archlinux.org/viewtopic.php?id=33831), but I also found that ["you can't use 'setkeycodes' on USB keyboards"](http://www.gossamer-threads.com/lists/linux/kernel/552842), 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"](https://wiki.archlinux.org/index.php/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..