Solutions I found mentioned installing "xkeycaps", but I tried this program and couldn't get it to use the right keymap. I selected the default 105-key US layout that my settings tell me I'm using and it remapped several of my keys - most notably my cursor keys (UP became a screenshot shortcut). I don't recommend it unless you're willing to keep working with it to find the right mapping for your hardware, but your mileage may vary.
Next solution I found was programmer oriented, but not that difficult to follow. First they had you run 'xev' at a terminal window. That program appears to describe in excruciating detail every input event (mouse movement, keypress, etc.) for programmers that need the low-level detail it provides. Start it, don't move your mouse, and press they key you want to use as your "j" key. Somewhere in the middle of each of the couple of paragraphs of text that appear in the terminal window is the word "keycode" followed by a number - jot down that number. In the example below I've highlighted it (I used the "menu" key to the right of my space bar):
Close the small window that appeared when you started 'xev' (ignore the mass of text that appears in the terminal window as you move the mouse). Back in the terminal window enter the following, replacing the '135' I'm using with the code you just got for your preferred key:
KeyRelease event, serial 37, synthetic NO, window 0x3600001,
root 0x26c, subw 0x0, time 48221965, (165,-11), root:(588,314),
state 0x0, keycode 135 (keysym 0xff67, Menu), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Should take effect immediately, but will be lost upon logout/reboot.
xmodmap -e 'keycode 135=j'
I tried to make it stick by the usual Settings -> Session and Startup method, but it didn't work for me (I have a guess as to why, but don't know how to correct it). I'll describe it, maybe you'll have better luck. Only other option is to get the command into some startup script, but I don't know if you're comfortable with editing important text files.
Anyway if you want to try what is supposed to work, then here goes: go to Settings -> Session and Startup -> Application Autostart (tab), and then click "Add" at the bottom. Put whatever you like in the first two boxes of the dialog that appears (note the name you give it, you'll need to find that in the list to disable it later), but put the command above in the last one (see attached screenshot) and click "OK". When you get your new keyboard, return to this Application Autostart list and uncheck the item with then name you assigned (you can leave it there for future use should you need it again).
Fix J Key Example.png
Hopefully this works for you better than it did me. Otherwise I'm out of ideas to make it stick unless you're willing to carefully edit a startup script.