Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Logitech Cordless Desktop Optical extra buttons in Linux

7 views
Skip to first unread message

Jukka Laurila

unread,
Jul 19, 2002, 2:50:49 PM7/19/02
to
I recently bought the pretty nice, although quite expensive cordless
keyboard/mouse combination called the Logitech Cordless Desktop
Optical. In addition to the marketroidish bunch of extra buttons
("Shopping", "E-Mail", "Search" etc. ad nauseam) the keyboard has a
scroll wheel of the wheel-mouse-wheel kind. Under Linux the wheel
seems to send cursor up/down scancodes, but somehow the Windows
drivers can tell the difference between cursor key presses and moving
the wheel.

Also, the mouse has a thumb button that appears to send exactly the
same codes as the middle button. I checked with:

cat /dev/psaux|od -t x1 -w4

And yet again the Windows drivers can tell the difference between the
thumb button and the middle button. The keyboard/mouse
receiver/transmitter unit is connected with standard PS/2 connectors.

Has anyone managed to get the extra buttons working? Does the Windows
driver put the keyboard and mouse to some funny proprietary mode?

--
-- +358503312601 - http://www.iki.fi/jlaurila/
- every vector dreams of matrices -

Andrey Vlassov

unread,
Jul 19, 2002, 3:06:38 PM7/19/02
to jpla...@quordlepleen.hut.fi
Jukka Laurila,

there is a very nice program in Lunux xev which will show you all scancodes for mouse and keyboard (well you have to say X11 that you would like use wheel on your wheelmouse or it will ignore it). After that you have to map these scancodes to some events. And this task depends on application. It is same like with wheelmouse -- till you will not say application to "react" on some events it will just ignore them (netscape is a good example).

so here is a list of keyboard related utilities which  you have to know about

dumpkeys (1)         - dump keyboard translation tables
getch (3ncurses)     - get (or push back) characters from curses terminal keyboard
getnstr (3ncurses)   - accept character strings from curses terminal keyboard
getstr (3ncurses)    - accept character strings from curses terminal keyboard
gkb_applet (1)       - GNOME Keyboard Applet for the GNOME panel.
gkb_xmmap (1)        - Set your keyboard map with the GNOME Keyboard Applet.
has_key (3ncurses)   - get (or push back) characters from curses terminal keyboard
kbd_mode (1)         - report or set the keyboard mode
kbdrate (8)          - reset the keyboard repeat rate and delay time
keyboard-properties (1) - allows you to configure your keyboard.
keymaps (5)          - keyboard table descriptions for loadkeys and dumpkeys
loadkeys (1)         - load keyboard translation tables
mvgetch (3ncurses)   - get (or push back) characters from curses terminal keyboard
mvgetnstr (3ncurses) - accept character strings from curses terminal keyboard
mvgetstr (3ncurses)  - accept character strings from curses terminal keyboard
mvwgetch (3ncurses)  - get (or push back) characters from curses terminal keyboard
mvwgetnstr (3ncurses) - accept character strings from curses terminal keyboard
mvwgetstr (3ncurses) - accept character strings from curses terminal keyboard
setleds (1)          - set the keyboard leds
setmetamode (1)      - define the keyboard meta key handling
showkey (1)          - examine the scan codes and keycodes sent by the keyboard
ungetch (3ncurses)   - get (or push back) characters from curses terminal keyboard
wgetch (3ncurses)    - get (or push back) characters from curses terminal keyboard
wgetnstr (3ncurses)  - accept character strings from curses terminal keyboard
wgetstr (3ncurses)   - accept character strings from curses terminal keyboard
keyboard (4)         - Keyboard input driver
setxkbmap (1x)       - set the keyboard using the X Keyboard Extension
xkbcomp (1x)         - compile XKB keyboard description
xkbprint (1x)        - print an XKB keyboard description

I wish you had a fun...

Andrey

Stefan Fröbe

unread,
Jul 22, 2002, 2:42:33 PM7/22/02
to

> Has anyone managed to get the extra buttons working? Does the Windows
> driver put the keyboard and mouse to some funny proprietary mode?

All extra buttons EXCEPT the kb-wheel can be used by Lineak (
http://lineak.sourceforge.net ) or Hotkeys w/ the appropriate Configfile.

Jukka Laurila

unread,
Jul 23, 2002, 6:20:16 PM7/23/02
to
On 19 Jul 2002 18:50:49 GMT, Jukka Laurila <jpla...@nostromo.tky.hut.fi> wrote:
> Also, the mouse has a thumb button that appears to send exactly the
> same codes as the middle button. I checked with:
>
> cat /dev/psaux|od -t x1 -w4
>
> And yet again the Windows drivers can tell the difference between the
> thumb button and the middle button. The keyboard/mouse
> receiver/transmitter unit is connected with standard PS/2 connectors.
>
> Has anyone managed to get the extra buttons working? Does the Windows
> driver put the keyboard and mouse to some funny proprietary mode?

With some poking around, I managed to get the mouse thumb button to
work as a separate button, and since it appears that I'm not the only
one that has had problems getting extra buttons to work, I decided to
share.

The solution:

- specify "exps2" as the protocol in /etc/gpm.conf
and "raw" as the repeat type. (Do all distros use gpm nowadays?)

- use the following settings in XF86Config-4:

Option "Device" "/dev/gpmdata"
Option "Protocol" "ExplorerPS/2"
Option "Buttons" "6"
Option "ZAxisMapping" "5 6"

- run the command

xmodmap -e "pointer = 1 2 3 6 4 5"

in your X login scripts somewhere.

After that the thumb button works as the button number 6.

The "Auto" protocol doesn't work with this mouse. The MouseManPlusPS/2
protocol works on /dev/psaux, but not with gpmdata. ExplorerPS/2 works
both on bare metal and on gpmdata.

OS: Debian GNU/Linux 3.0, XFree86 4.2.0 preliminary packages.

0 new messages