Talk:HOWTO Microsoft Natural Ergonomic Keyboard 4000
From Gentoo Linux Wiki
Contents |
[edit] Everything Works Out-of-the-Box!
I'm using Gentoo with sys-kernel/gentoo-sources-2.6.26-r1, XFCE-4.2, =x11-drivers/xf86-input-evdev-1.1.5-r1. I configured xorg.conf according to this wiki to use evdev. (See my configuration below adding the Vendor/Product IDs in a hopeful attempt for Xorg to autoconfigure even if I plug the keyboard into another USB port.)
No other configurations were necessary for XFCE-4.2 to pick-up and use the extra keys such as Volume, Mute, Forward, Back, Search & Web (Firefox-3.0.3). Zoom toggle is also recognized by xev!
(If you also Xorg to automatically detect & configure, extra keys may not work. This is untested, because it was picking up an old Logitech wireless keyboard also.)
Take note Logitech! This is how a keyboard is suppose to be detected! Every key should work by simply plugging it in! I've had Logitech keyboards for the past 5+ years, and have had nothing but frustration with dead keys. Also, just measured the keyboard sizes as I have normal sized fingers/hands, but the Logitech keyboards always felt small. Just measured the distance from "A" to ";" keys, and found M$ keyboards were 1/4" to 1/2" longer/larger. These M$ 4K keyboards were also on sale at OfficeMax for $35 or so today. (We shall see how it goes... Might just toss all my Logitech Wireless keyboards in the trash, and keep the Logitech mice.) ---Roger 06:39, 8 October 2008 (UTC)
| File: /var/log/messages |
Section "InputDevice" # Vendor=045e Product=00db Version=0111 (For both NE4K devices) Identifier "Microsoft NE4K Keyboard1" Driver "evdev" Option "Protocol" "evdev" Option "Vendor" "0x045e" Option "Product" "0x00db" Option "Phys" "usb-0000:00:07.2-2/input0" Option "XkbModel" "evdev" EndSection Section "InputDevice" Identifier "Microsoft NE4K Keyboard2" Driver "evdev" Option "Protocol" "evdev" Option "Vendor" "0x045e" Option "Product" "0x00db" Option "Phys" "usb-0000:00:07.2-2/input1" Option "XkbModel" "evdev" EndSection |
[edit] What to bind to Zoom Key?
What should we bind the "zoom key" to? It's currently the only key not bound to some action, aside from the F-Lock/Shifted Functions keys. So far, be nice to map this thing to scroll the console history of a terminal or GNU Screen (macro map to ctrl+a :) ... or even "macro map" this puppy to visual:scroll up & down in VI/VIM.
[edit] Missing you keyboard layout?
That's probably because you're using a version of evdev that is too old. But before ending to this conclusion I've found a somewhat easier way to make them all working(with the favorite key being detected as the downarrow key...): instead of using evdev for both input device (of the keyboard) just use the keyboard driver for the corekeyboard and evdev for the other
[edit] Explanation
The trick truc suggested (use kbd, keyboard is the old driver) works in part and partially avoids, even if doesn't solve cleanly, the problem I've reported here HOWTO_Microsoft_Natural_Ergonomic_Keyboard_4000#Evdev_more_in_depth . I'll explain why this happens:
Basically because the X kbd driver and the X kbd driver "see" different keycodes. (Reason why you can only use the evdev keycode file or extensions of it like my microsoftnek4k with the evdev driver:
# setxkbmap -print
xkb_keymap {
xkb_keycodes { include "evdev+nek4k(nek4k)+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc(pc105)+it+inet(microsoftnek4k)" };
xkb_geometry { include "microsoft(nek4k)" };
};
).
Favorites and Down Arrow have now different keycodes:
Standard keyboard (Down Arrow) -> kbd driver -> keycode 104 Additional keys (Favorites) -> evdev driver -> keycode 116
Favorites and Down Arrow with two evdev devices:
Standard keyboard (Down Arrow) -> evdev driver -> keycode 116 Additional keys (Favorites) -> evdev driver -> keycode 116
Unfortunately the custom "One" key and the "Print" key are both managed by the same device so their codes inevitably overlap.
The only real solution appears to be at kernel driver level.
- trantorvega 20:52, 27 September 2006 (UTC)
[edit] Built-in error
If you get the error,when building the kernel:
| Code: Kernel Error |
drivers/built-in.o: In function `hidinput_disconnect_core': : undefined reference to `hid_ff_init' |
Disable force feedback support. -- Grunty
