[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Sigh... Hacking a new internet k/b into Xkb



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I'm trying to get this Microsoft Natural Multimedia keyboard to work properly 
under X. Some of it's hotkeys are the same as the Natural Pro, but there are 
quite a few that are different.

I tried to get it working by duplicating the 'microsoftpro' model as best I 
could, namely:

* Adding an xkb_symbols "microsoftnmm" section to 
/etc/X11/xkb/symbols/inet[1]. All the scancodes are verified with `showkey 
- -s'.
* Adding stuff to xkb/rules/xfree86, replacing 'microsoftpro' with 
'microsoftnmm'[2].
* Adding a line to xkb/rules/xfree86.lst[3]
* Adding a line to xkb/symbols.dir[4]

I can select the keyboard in KDE's layout configuration, but it's still only 
registering the Pro's symbols.

I can see the keycodes with xev, but the symbols don't show up for anything 
other than the keys shared with the Natural Pro. I don't have anything 
special in my XF86Config-4[5].

Can someone please tell me what's wrong here? I have access to several 
internet keyboards not supported by XFree86, and I'd like very much to 
contribute the necessary Xkb bits.

Please make sure I'm Cc'd on replies, I', not subscribed.



[1]:
partial alphanumeric_keys
xkb_symbols "microsoftnmm" {

    // Describes the extra keys on a Microsoft Natural Multimedia Keyboard

    name[Group1]= "MicrosoftNaturalMM";
    key <I4C>   {       [ XF86MyDocuments ] };
    key <I64>   {       [ XF86MyPictures  ] };
    key <I3C>   {       [ XF86MyMusic     ] };
    key <I20>   {       [ XF86AudioMute ] };
    key <I22>   {       [ XF86AudioPlay, XF86AudioPause ] };
    key <I24>   {       [ XF86AudioStop ] };
    key <I2E>   {       [ XF86AudioLowerVolume ] };
    key <I30>   {       [ XF86AudioRaiseVolume ] };
    key <I10>   {       [ XF86AudioPrev ] };
    key <I19>   {       [ XF86AudioNext ] };
    key <I6D>   {       [ XF86AudioMedia ] };
    key <I6C>   {       [ XF86Mail ] };
    key <I32>   {       [ XF86HomePage ] };
    key <I05>   {       [ XF86Messenger ] };
    key <I21>   {       [ XF86Calculator ] };
    key <I16>   {       [ XF86LogOff ] };
    key <I5F>   {       [ XF86Sleep ] };

    key <I3B>   {       [ XF86Help ] };
    key <I08>   {       [ XF86Undo ] };
    key <I07>   {       [ XF86Redo ] };
    key <I3e>   {       [ XF86New ] };
    key <I3f>   {       [ XF86Open ] };
    key <I40>   {       [ XF86Close ] };
    key <I41>   {       [ XF86Reply ] };
    key <I42>   {       [ XF86Forward ] };
    key <I43>   {       [ XF86Send ] };
    key <I23>   {       [ XF86Spell ] };
    key <I57>   {       [ XF86Save ] };
    key <I58>   {       [ XF86Print ] };
};

[2]:
! model         =       keycodes        geometry
...
  microsoftpro  =       xfree86         microsoft(natural)
  microsoftnmm  =       xfree86         microsoft(natural)

...

! model         layout  =       symbols
...
  microsoftpro  us      =       us(pc104)+inet(microsoftpro)
  microsoftpro  en_US   =       en_US(pc104)+inet(microsoftpro)
  microsoftpro  *       =       en_US(pc104)+inet(microsoftpro)+%l%(v)
  microsoftnmm  us      =       us(pc104)+inet(microsoftnmm)
  microsoftnmm  en_US   =       en_US(pc104)+inet(microsoftnmm)
  microsoftnmm  *       =       en_US(pc104)+inet(microsoftnmm)+%l%(v)

[3]:
  microsoftpro  Microsoft Natural Pro
  microsoftnmm  Microsoft Natural Multimedia


[4]:
- --p----- a------- inet(microsoftpro)
- --p----- a------- inet(microsoftnmm)

[5]:
Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "keyboard"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xfree86"
        Option          "XkbModel"      "pc105"
        Option          "XkbLayout"     "us"
EndSection


- -- 
"It is a painful thing to be alone. But more painful still, to be... polite."
 - Throbbing Gristle, "A Debris Of A Murder"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE+6CEiHJcvLJR6wWoRAkxVAJ9imFEnUtjrciCaoobDhuy4fwjmUQCghF/a
PaV0CUftwxHRK0t0oF8eHrk=
=eXlR
-----END PGP SIGNATURE-----



Reply to: