[ltp] logitech cordless desktop optical, special keys not working
Matthias Himber
linux-thinkpad@linux-thinkpad.org
Sat, 17 Apr 2004 10:42:29 +0200
Well, there has been some demand, so here is the stuff. I cannot guarantee
this works on any System other than mine (SuSE Linux, using X.org X11R6.7).
First, find the xkb base directory. On my SuSE System its /etc/X11/xkb, but on
your System it might be different. Here is what it looks like:
matthias@denkbrett:~> ls -l /etc/X11/xkb/
insgesamt 112
drwxr-xr-x 2 root root 472 2004-02-25 20:21 compat
-r--r--r-- 1 root root 689 2004-02-12 19:15 compat.dir
lrwxrwxrwx 1 root root 12 2004-02-25 20:21 compiled
-> /var/lib/xkb
drwxr-xr-x 5 root root 584 2004-02-25 20:21 geometry
-r--r--r-- 1 root root 2601 2004-02-12 19:15 geometry.dir
drwxr-xr-x 4 root root 424 2004-02-25 20:21 keycodes
-r--r--r-- 1 root root 2660 2004-02-12 19:15 keycodes.dir
drwxr-xr-x 5 root root 296 2004-02-25 20:21 keymap
-r--r--r-- 1 root root 10552 2004-02-12 19:15 keymap.dir
-r--r--r-- 1 root root 1048 2004-02-12 19:15 README
-r--r--r-- 1 root root 7618 2004-02-12 19:15 README.config
-r--r--r-- 1 root root 23440 2004-02-12 19:15 README.enhancing
drwxr-xr-x 2 root root 376 2004-04-03 12:20 rules
drwxr-xr-x 2 root root 144 2004-02-25 20:21 semantics
drwxr-xr-x 12 root root 3048 2004-04-03 11:55 symbols
-r--r--r-- 1 root root 38346 2004-02-12 19:15 symbols.dir
drwxr-xr-x 2 root root 296 2004-02-25 20:21 types
-r--r--r-- 1 root root 500 2004-02-12 19:15 types.dir
-rw-r--r-- 1 root root 108 2004-04-03 11:59 X0-config.keyboard
lrwxrwxrwx 1 root root 22 2004-02-25 20:21 xkbcomp
-> /usr/X11R6/bin/xkbcomp
Now, edit the file symbols/inet, adding the following:
partial alphanumeric_keys
xkb_symbols "ltcdmx" {
name[Group1]= "Logitech Cordless Desktop MX";
// Left side
key <I16> { [ XF86WheelButton ] };
key <I6A> { [ XF86Back ] };
key <I69> { [ XF86Go ] };
// Top left
key <I5F> { [ XF86Standby ] };
key <I6C> { [ XF86Mail ] };
key <I11> { [ XF86Messenger ] };
key <I12> { [ XF86WebCam ] };
// Top center
key <I10> { [ XF86AudioPrev ] };
key <I19> { [ XF86AudioNext ] };
key <I6D> { [ XF86AudioMedia ] };
key <I2E> { [ XF86AudioLowerVolume ] };
key <I30> { [ XF86AudioRaiseVolume ] };
key <I20> { [ XF86AudioMute ] };
key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
key <I24> { [ XF86AudioStop ] };
// Top right
key <I13> { [ XF86iTouch ] };
key <I65> { [ XF86Search ] };
key <I32> { [ XF86HomePage ] };
key <I14> { [ XF86Shop ] };
key <I66> { [ XF86Favorites ] };
// Extended Fn keys
key <I3B> { [ XF86New ] }; // F1
key <I3C> { [ XF86Reply ] }; // F2
key <FK13> { [ XF86MailForward ] }; // F3
key <FK14> { [ XF86Send ] }; // F4
key <FK15> { [ Undo ] }; // F5
key <FK16> { [ Redo ] }; // F6
key <FK17> { [ Print ] }; // F7
key <I42> { [ XF86Save ] }; // F8
key <I43> { [ XF86MyComputer ] }; // F9
key <I44> { [ XF86Documents ] }; // F10
key <I57> { [ XF86Pictures ] }; // F11
key <I58> { [ XF86Music ] }; // F12
};
Now, in the file rules/xfree86, look for the long list of Internet Keyboards,
it looks like this:
! $inetkbds = airkey acpi scorpius [...more...] trust trustda yahoo
Add "ltcdmx" in there somewhere.
Now, if you want to use some graphical configuration Tool to tell XFree to
load the keymap, you will have to edit rules/xfree86.lst and
rules/xfree86.xml, but these files should be self-documenting. To do it
manually, open the XF86Config in your favorite editor and in the appropiate
InputDevice section for your keyboard put the line
Option "XkbModel" "ltcdmx"
remove any existing 'Option "XkbModel"' line, of course.
If this, please tell me as I would then try to submit it to X.org.
Have a lot of fun,
Matthias