Talk:HOWTO Microsoft Natural Ergonomic Keyboard 4000

From Gentoo Linux Wiki

Jump to: navigation, search

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

see here for more info --truc

[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

Personal tools