zoom keys dont work in my microsoft natural keyboard 4000

Bug #264287 reported by sandic on 2008-09-03
This bug affects 47 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Nominated for Maverick by firegnom

Bug Description

The zoom slider does not work neither does the spell check key. I followed this page http://gentoo-wiki.com/HOWTO_Microsoft_Natural_Ergonomic_Keyboard_4000 but all the instructions are for older kernel. Also http://www.lieberbiber.de/docs/mm-traffic13.htm#usb-key-codes-for-microsoft-natural-ergonomic-4000-usb-keyboard.patch page states that the code was in mm-tree from 2006, Has it not been synced with Linus's tree ? Can ubuntu include this patch ?

I am running Ubuntu Hardy 8.04.1 with proposed-updates enabled.

Timo Aaltonen (tjaalton) wrote :

unless you get events with xev, the bug is in the kernel.

Hi sandi,

Care to take a look at the following and attach the appropriate debugging information:


Additionally, the upcoming Intrepid Ibex 8.10 is actively being developed. Alph5 is actually set to be released today. Care to confirm this is still an issue with Alpha5 for the upcoming Intrepid Ibex 8.10. You should be able to test via a LiveCD. Please watch http://www.ubuntu.com/testing for Alpha5 to be announced. Please let us know your results. Thanks again and we appreciate your help and feedback.

Changed in linux:
status: New → Incomplete
Benjamin Prosnitz (aetherane) wrote :

For me, the calculator button works but I'm having trouble with the zoom slider.

I tried 3 different methods described in the HotKeyResearch page. None of them reported any keycodes, or even had any response to my presses whatsoever.

The Gentoo site says the following about the zoom key:
"Due to limitations of X11 protocol (no keycodes outside 9—255 range are allowed), some kernel keycode bindings should be fixed in order to make zoom throttle and «Spellcheck» key work under X. Apply the following patch to include/linux/input.h file of kernel sources (only 3 lines are changed):


--- /usr/src/linux/include/linux/input.h.orig 2007-12-31 12:36:02.000000000 +0300
+++ /usr/src/linux/include/linux/input.h 2007-12-30 18:37:19.000000000 +0300
@@ -510,8 +510,8 @@
 #define KEY_TWEN 0x19f
 #define KEY_VIDEOPHONE 0x1a0 /* Media Select Video Phone */
 #define KEY_GAMES 0x1a1 /* Media Select Games */
-#define KEY_ZOOMIN 0x1a2 /* AC Zoom In */
-#define KEY_ZOOMOUT 0x1a3 /* AC Zoom Out */
+#define KEY_ZOOMIN 246 /* AC Zoom In */
+#define KEY_ZOOMOUT 247 /* AC Zoom Out */
 #define KEY_ZOOMRESET 0x1a4 /* AC Zoom */
 #define KEY_WORDPROCESSOR 0x1a5 /* AL Word Processor */
 #define KEY_EDITOR 0x1a6 /* AL Text Editor */
@@ -524,7 +524,7 @@
 #define KEY_ADDRESSBOOK 0x1ad /* AL Contacts/Address Book */
 #define KEY_MESSENGER 0x1ae /* AL Instant Messaging */
 #define KEY_DISPLAYTOGGLE 0x1af /* Turn display (LCD) on and off */
-#define KEY_SPELLCHECK 0x1b0 /* AL Spell Check */
+#define KEY_SPELLCHECK 235 /* AL Spell Check */
 #define KEY_LOGOFF 0x1b1 /* AL Logoff */

 #define KEY_DOLLAR 0x1b2

Benjamin Prosnitz (aetherane) wrote :

Oh, and I am running the latest version of Intrepid Ibex, so it is still and active issue.

Nick Jenkins (nickpj) wrote :

I am running Ubuntu 8.04.1 LTS, and can confirm that I am having the exact same problem with the exact same keyboard (zoom key does not work on the "Microsoft Natural Ergonmoic 4000 Keyboard"). All the other special keys seem to work okay.

If it helps to explain what this key is, the zoom key is marked as item number 1 on this image of they keyboard: http://i.testfreaks.com/images/products/600x400/159/microsoft-natural-ergonomic-keyboard-4000.205983.jpg

Also if I run "sudo showkey -t 2" to see the keycodes, the result is as follows:
# the keycode for the up key is:
0x00 0x83 0xa2
# (The above keycode will be repeated whilst the zoom key is held in the up position.)
# Followed by this on release:
0x80 0x83 0xa2
# They keycode for the down key is:
0x00 0x83 0xa3
# (The above keycode will be repeated whilst the zoom key is held in the down position.)
# Followed by this on release:
0x80 0x83 0xa3

Note also that on running "xev" that I don't get any events when I press or release the zoom key in either the up or down positions, so based on comment #2, this would indicate a problem with the kernel.

Daniel Hahler (blueyed) wrote :

Confirmed on Intrepid: "showkey" displays keys, but "xev" does not.

Changed in linux:
status: Incomplete → Triaged
Daniel Hahler (blueyed) on 2009-01-03
Changed in linux:
importance: Undecided → Low
Lawrence (xmarlawx) wrote :

I can confirm this too in Intrepid, just installed and updated.
Is there a set of patch that I can apply ? Couldn't find one that applies nicely.
I guess I'll give 9.04 I try.

I can also confirm that on Intrepid: "showkey" run in console displays keycodes for zoom buttons , but in "xev" nothing is displayed.

The same here on Intrepid:
showkey recognize the zoom keys, xev ignores them.

We should have knew better when we bought a Microsoft Natural Keyboard
4000 .. :)

Gerrit (gerrit-abma) wrote :

I can confirm this on the current alpha version of Jaunty: showkey gives results, but xev does not :-(

Kees Cook (kees) wrote :

The range 195-199 is available. However, the real solution would be for X to handle >255 keycodes.

tags: added: jaunty
3ntix (francesco-3ntini) wrote :

This bug affect me too. I've a Notebook Toshiba M50-140 with the "new" git version of omnibook driver who enable the multimedia keys. I'have (k)ubultu jaunty with kde 4.2.3 and I've mapped the hotkey, as is wited in this guide http://people.freedesktop.org/~hughsient/quirk/quirk-keymap-index.html. Some key are mapped with zoomin and zoomout keycodes, 0x1a2 and 0x1a3 keycode's number respectively. I've noted that all >255 keycodes doesn't work in jaunty (no xev event).
I've read this file /usr/include/linux/input.h and before of defining >255 keycodes there is this comment: "Range 248 - 255 is reserved for special needs of AT keyboard driver". What does it mean?

Jesse Burt (avsa242) wrote :

Hi folks,

I don't know if anyone associated with this bug still cares, but for those who have one of these MS keyboards with the slider control (labeled 'Zoom'), it seems the slider is actually recognized as joystick buttons, using the autoloaded joydev.ko kernel module (at least this is the case with my model 1031 'Digital Media Pro Keyboard). Mine is recognized as having 41 buttons (don't know where this comes from, but okay) and when I push the slider up button 25 is reported as pressed, and button 26 when pushed down (this is in Jaunty KDE Keyboard & Mouse - Joystick under System Settings). I'm not really sure what the state of actual joystick support is in KDE or X desktop usage in general, but thought this might give someone an idea.


Still a problem in 9.10, showkeys works, but xev does not.

Same problem for me on 9.10

Michael Trunner (trunneml) wrote :

I believe this is a Xorg/X11 problem, not a kernel related.
The problem is that X can not handle keycodes above > 255.
A workaround is patching the kernel that an other keycode < 255 is used.

I use karmic updated with kernel 2.6.31-16 and linux doesn't recognized the zoom key.

Neil Grover (ngrover) wrote :

No dice in 10.04. I don't know where this problem originates... it's probably not Ubuntu related but for the record I'd thought I'd let people know it still doesn't work in 10.04.

JICM (enanoguitarrista) wrote :

i have the same problem, also tried "sudo showkey -k " in ubuntu 9.10 and the results for the wheel keycode is:

418 up
419 down

So i don't know where the problem is but it has some relation with the >255 code...

VF (fviktor) wrote :

I've double checked and the above 418 and 419 key codes are still correct for Ubuntu 10.04 as well.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers