I recently looked at keymaps in /usr/share/syscons/keymaps and found many minor errors. In addition to that, there is so much inconsistency among existing keymaps. True that national keyboards have different layout of regular keys (alphanumeric keys and symbol keys). But, it is absurd that functions keys and special keys are handled in so many different ways.
The syscons keymap can assign special functions to key strokes, such as `suspend', `next virtual screen'. However, some keymaps don't have these special functions assigned to any key strokes. The other keymaps may have them but assign them differently. There is no standard here. So, I would propose the following key assignment to be the standard from now on. I compiled this list based on existing keymaps and recent input from a contributer (thanks, J M Alcaide!) If this assignment is not desirable for some keymaps, such as Russian and Dvorak maps which are rather unique, they may be made exceptions. But, unless there is a good reason to make other exceptions, I will modify the other national keymaps to adapt these key assignments. Any comments? I am open to suggestions. Kazu * 101/102/104 Enhanced Keyboard support Key Code Key Stroke Function ----------------------------------------------------------------------------- 1 Ctrl-Alt-Esc Enter DDB (debug). 57 Ctrl-Alt-Space Suspend (susp). 70 ScrollLock Backscroll (slock). 84 Alt-SysRq(PrintScreen) - (nop) 92 PrintScreen Switch to the next vty (next). 104 Pause Start screen saver (saver). 104 Alt-Pause Suspend (susp). 105 Left Windows fkey62 106 Right Windows fkey63 107 Menu fkey64 108 Ctrl-Break(Pause) Enter DDB (debug). The separate SysRq key doesn't exist on the enhanced keyboard. It is combined with the PrintScreen key. The SysRq code is generated when the Alt and the PrintScreen keys are pressed together. The separate Break key doesn't exist on the enhanced keyboard. It is combined with the Pause key. The Break code is generated when the Ctrl and the Pause keys are pressed together. The above assignments for the keycodes 1, 57, 70, 84 and 92 are compatible with many, if not all, existing keymaps. The assignments for 104 and 108 are new. Many keymaps lacks entries for 105 through 107. * 84 Keyboard support Key Code Key Stroke Function ----------------------------------------------------------------------------- 1 Ctrl-Alt-Esc Enter DDB (debug). 57 Ctrl-Alt-Space Suspend (susp). 70 ScrollLock Backscroll (slock). 84 SysRq - (nop) 92 Shift-PrintScreen(*) Switch to the next vty (next). 104 Ctrl-Pause(NumLock) Start screen saver (saver). 104 Ctrl-Alt-Pause(NumLock) Suspend (susp). 108 Ctrl-Break(ScrollLock) Enter DDB (debug). The separate PrintScreen key doesn't exist on the 84 keyboard. It is combined with the numpad * key. The PrintScreen code is generated when the Shift and the numpad * keys are pressed together. The separate Pause key doesn't exist on the 84 keyboard. It is combined with the NumLock key. The Pause code is generated when the Ctrl and the NumlLock keys are pressed together. The separate Break key doesn't exist on the 84 keyboard. It is combined with the ScrollLock key. The Break code is generated when the Ctrl and the ScrollLock keys are pressed together. * Proposed keymap Combining the support for the 84 keyboard and the enhanced keyboard described above, we will get the following keymap entries. alt ctrl alt alt ctrl code base shift ctrl shift alt shift ctrl shift ----------------------------------------------------- 1 esc esc esc esc esc esc debug esc 57 ' ' ' ' null ' ' ' ' ' ' susp ' ' 70 slock slock slock slock slock slock slock slock 84 nop nop nop nop nop nop nop nop 92 next next nop nop nop nop nop nop 104 saver nop saver nop susp nop susp nop 105 nop nop nop nop nop nop nop nop 106 nop nop nop nop nop nop nop nop 107 nop nop nop nop nop nop nop nop 108 nop nop debug nop nop nop nop nop <<EOF>> To Unsubscribe: send mail to majord...@freebsd.org with "unsubscribe freebsd-current" in the body of the message