Subject: Re: CONTROL-ALT-Fn
To: None <tech-kern@NetBSD.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-kern
Date: 04/28/2007 11:44:14
>>> I'm just curious you know where the console switch focus
>>> CONTROL-ALT-Fn defined in the NetBSD source?
>> [...dunno, try tech-kern...]
> As Hubert pointed me to this list, my question is, someone know where
> exactly the CONTROL-ALT-Fn defined in the kernel?
In -current, I don't know - but I recently had occasion to puzzle this
out under 3.1, and I found that it was a question of putting the right
keysyms on the right keycodes. Unless the wscons paradigm has been
reworked substantially in -current, it presumably will be the same
there.
Here, for example, are excerpts from the keyboard mapping I load on my
WorkPad.
keycode 1 = Cmd_Debugger Escape
keycode 59 = Cmd_Screen0 F1
keycode 60 = Cmd_Screen1 F2
keycode 61 = Cmd_Screen2 F3
keycode 62 = Cmd_Screen3 F4
keycode 63 = Cmd_Screen4 F5
keycode 64 = Cmd_Screen5 F6
keycode 65 = Cmd_Screen6 F7
keycode 66 = Cmd_Screen7 F8
keycode 67 = Cmd_Screen8 F9
keycode 68 = Cmd_Screen9 F10
keycode 221 = Cmd voidSymbol
I use the Windows key (keycode 221) as a dedicated command modifier
key, rather than using control+alt. (If I wanted control+alt, I'd put
Cmd1 on one of them and Cmd2 on the other.) Then the other Cmd_*
entries say what a key does when typed in conjunction with Cmd - so
Windows+Esc drops into ddb, Windows+F1 flips to screen 0, etc.
Where is this mapping initialized? I don't know. In my case I found a
rather bizarre default: "wsconsctl map" printed only about eight lines,
even though I had a full working keyboard - but if I saved that output
and fed it back through wsconsctl, I got the almost-nonexistent mapping
implied by those lines.
/~\ The ASCII der Mouse
\ / Ribbon Campaign
X Against HTML mouse@rodents.montreal.qc.ca
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B