ISO_Level3_Shift: You have to keep this key pressed to select the corresponding 3rd level symbol.
ISO_Level3_Latch: You can press the key once, and release it. For next key you press, the 3rd level would be chosen. (This is a superset of the ISO_Level3_Shift key: you don’t have to necessarily release it.)
ISO_Level3_Lock: Once it is pressed, the third level would be selected for all the following keypresses. Once done, you have to “release the lock”, by pressing it again.
The same thing holds for ISO_Level2.
ISO_Level2_Shift: This is the vanilla Shift key.
ISO_Level2_Latch: If you change your shift keys to this (as I have done, see below), the shift version (level2) is selected whenever you press it once.
ISO_Level2_Lock: This is nearest to the Caps_Lock key, but whereas Caps_Lock only acts on the alphabetic keys, this key acts everywhere the Shift key is applicable.
To change your Shift key to ISO_Level2_Latch:
Code:
!
clear Shift
keysym Shift_L = ISO_Level2_Latch
keysym Shift_R = ISO_Level2_Latch
!keycode 50 = ISO_Level2_Latch
!keycode 62 = ISO_Level2_Latch
add Shift = ISO_Level2_Latch
!
Save it in <filename>, and load it via `xmodmap <filename>'. The `!' is for comment lines. You can use either the keysym lines or the keycode lines. (Before using, you may wish to check that the keycodes and keysyms are true for your system too. Run the command `xev' in an xterm window, press the shift key, and note the keysyms and keycodes.)
See a companion post here:
http://www.linuxquestions.org/questi...02#post4971702