Messages in this thread | | | Date | Sat, 24 Jan 2004 09:39:58 +0100 | From | Vojtech Pavlik <> | Subject | Re: Solved: atkbd w 2.6.2rc1 : HowTo for extra (inet) keys ? |
| |
On Sat, Jan 24, 2004 at 04:28:30AM +0200, P. Christeas wrote: > After spending my evening on it :-( I managed to find the correct keys for > the Omnibook XE3: > (I could only reverse-engineer the previous hack I 've had for it) > Download and hack the 'console-tools' package (from sourceforge, project > "lct") so that 'setkeycodes' does accept keycodes >127. > > Vojtech, is 512 the upper bound for <keycode> at setkeycodes? > > Using 2.6.2-rc1, issue: > setkeycodes e071 236 > setkeycodes e072 237 > setkeycodes e073 238 > setkeycodes e074 239 > > so that the upper (near the screen) row of "internet" buttons is assigned to > the keys X expect to receive. > e071 etc. can be found using 'showkey -s' > I still don't get where 236 came from (so that I could help other kbds, as > well).
The almost right solution here would be to write an xkb keyboard description that matches the 2.6 keycode->scancode mappings, so that once you get the 'setkeycodes' command right, both the kernel and X will understand the keys correctly.
With your approach you got the keys correct solely in X, not the kernel.
I'll take a look at this.
The completely right approach would be to teach X to either use the event interface or at least the medium raw mode.
> > On Fri, Jan 23, 2004 at 10:04:27PM +0200, P. Christeas wrote: > > > Hello again. > > > I just reverted my atkbd.c code to your version (Linus's tree) and > > > unfortunately have 4 keys 'missing' from my HP Omnibook XE3GC extra > > > "internet keys". > > > Question 1: Can I fix the table from userland, using some utility? That > > > is, can I upload an updated table into the kernel, so that I don't have > > > to reboot? > > > > 'setkeycodes' can do that. > > > > > Q 2: Do you have any HowTo/QA for that? > > > > Not yet, but I'll have to write one. > > > > > Q 3: Will that work under X? (which AFAIK reads the 'raw' codes) > > > > X needs to be set up as well. In 2.6, X doesn't get real raw codes but > > instead simulated raw codes generated by the kernel. > > > > > Q 4: It has been rather difficult for me to compute the scancodes needed > > > for the table. Could you put the "formula" onto the HowTo? > > > > > > FYI, the codes are: > > > "www": Unknown key pressed (translated set 2, code 0xf3 on > > > isa0060/serio0). "Mail": Unknown key pressed (translated set 2, code > > > 0xf4 on isa0060/serio0). "Launch": Unknown key pressed (translated set 2, > > > code 0xf2 on isa0060/serio0). "Help": Unknown key pressed (translated > > > set 2, code 0xf1 on isa0060/serio0). > > > > The formula for setkeycodes is: > > > > if (code > 0x100) > > you're out of luck, setkeycodes doesn't handle this yet; > > else if (code > 0x80) > > result = code - 0x80 + 0xe000; > > else > > result = code; > > > > And then you use 'setkeycodes result keycode', > > > > where keycode you find in include/linux/input.h.
-- Vojtech Pavlik SuSE Labs, SuSE CR - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |