LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Microsoft Digital Media Pro Keyboard - Getting ALL hotkeys to work (https://www.linuxquestions.org/questions/linux-hardware-18/microsoft-digital-media-pro-keyboard-getting-all-hotkeys-to-work-321323/)

artistikone 05-08-2005 11:28 AM

Microsoft Digital Media Pro Keyboard - Getting ALL hotkeys to work
 
Flava - slackware-current
Kernel - 2.6.10
KDE - 3.4.0
Xorg - 6.8.2
Keyboard Picture - Here
Keyboard Layout in use - microsoftprooem (best results)
Keyboard Layout's tried:
From /etc/X11/xkb/rules/xfree86.lst:

pc101 Generic 101-key PC
pc102 Generic 102-key (Intl) PC
pc104 Generic 104-key PC
pc105 Generic 105-key (Intl) PC
microsoftinet Microsoft Internet Keyboard
microsoftpro Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro
microsoftprooem Microsoft Natural Keyboard Pro OEM
microsoftprose Microsoft Internet Keyboard Pro, Swedish
microsoftoffice Microsoft Office Keyboard
microsoftmult Microsoft Wireless Multimedia Keyboard

lsusb:

Bus 004 Device 001: ID 0000:0000
Bus 003 Device 004: ID 045e:00b0 Microsoft Corp.
Bus 003 Device 002: ID 045e:0039 Microsoft Corp. IntelliMouse Optical
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000


Dmesg output when it's unplugged/plugged in:

drivers/usb/input/hid-core.c: input irq status -84 received
usb 3-1: USB disconnect, address 4
usb 3-1: new low speed USB device using uhci_hcd and address 5
input: USB HID v1.11 Keyboard [Microsoft Microsoft® Digital Media Pro Keyboard] on usb-0000:00:1d.1-1
input: USB HID v1.11 Device [Microsoft Microsoft® Digital Media Pro Keyboard] on usb-0000:00:1d.1-1


getkeycodes:

Plain scancodes xx (hex) versus keycodes (dec)
for 1-83 (0x01-0x53) scancode equals keycode

0x50: 80 81 82 83 99 0 86 87
0x58: 88 117 0 0 95 183 184 185
0x60: 0 0 0 0 0 0 0 0
0x68: 0 0 0 0 0 0 0 0
0x70: 93 0 0 89 0 0 85 91
0x78: 90 92 0 94 0 124 121 0

Escaped scancodes e0 xx (hex)

e0 00: 0 0 0 0 0 0 0 0
e0 08: 0 0 0 0 0 0 0 0
e0 10: 165 0 0 0 0 0 0 0
e0 18: 0 163 0 0 96 97 0 0
e0 20: 113 140 164 0 166 0 0 0
e0 28: 0 0 255 0 0 0 114 0
e0 30: 115 0 150 0 0 98 255 99
e0 38: 100 0 0 0 0 0 0 0
e0 40: 0 0 0 0 0 119 119 102
e0 48: 103 104 0 105 112 106 118 107
e0 50: 108 109 110 111 0 0 0 0
e0 58: 0 0 0 125 126 127 116 142
e0 60: 0 0 0 143 0 217 156 173
e0 68: 128 159 158 157 155 226 0 112
e0 70: 0 0 0 0 0 0 0 0
e0 78: 0 0 0 0 0 0 0 0



The Issue:

As the title suggests, I'm unable to get all the multimedia hotkeys to function. Some work fine, but for the ones that don't, they don't output anything to xev,console or lineak as well so I'm unable to even try and map them to anything. Here's a list of the keys from left to right:

Zoom +
Zoom -
Mute
Vol -
Vol +
Play/Pause
Stop
Back
Forward
My Favorites (1-5)
My Documents
My Pictures
My Music
Mail
Web/Home
Messenger
Calculator
Log Off
Sleep


The ones that do not work ( send no out put to console or xev or lineakd -v)

Zoom +
Zoom -
My Favorites (1-5)
My Documents
My Pictures
My Music
Messenger
Log Off


Since this is a fairly new keyboard, there isn't much for helpful results on google.com/linux. Any help or points in the right direction is appreciated.

theYinYeti 05-09-2005 07:46 AM

If there is no X event, then there's nothing you can do. Except maybe (but don't bet on it) if you can somehow scan for raw signals with some non-X tool, which has the ability to send X events. But does such a tool even exist...

Yves.

marshmn 05-20-2005 02:34 PM

I have also noticed the same problem as this with this keyboard, though one extra bit of info... If I boot using a 2.4.x kernel it seems to work fine, but if I boot using 2.6.8 then it fails as noted above.

On a 2.6 kernel some of the keycodes are reported differently than on a 2.4 kernel but yes, more worrying that some of the keys don't report anything at all.

Iterestingly, on a 2.6 kernel some of the keys "repeat" which didn't before too...

Still, I don't have a solution to this yet I'm afraid...

Matt

apachedude 06-09-2005 04:31 AM

I've had the same problem on my Logitech keyboard. It was broken somewhere in 2.6.x, but unfortunately, it looks like the problem isn't being addressed.

jazzdog 06-11-2005 05:30 PM

Use the keyboard on a PS/2 port with the adapter supplied with the keyboard.
This made my dead keys produce codes in xev with my digital media pro keyboard.

Itzac 09-06-2005 06:41 PM

Check to see if they keys are generating scancodes that aren't being handled:

#tail -f /var/log/syslog

Then press the keys that don't work.

There's a mini howto here that's got me started. You don't have to install the kernel module if you're getting scancodes.

I'm trying to figure out how to get X to report the keys properly. If you don't see your keyboard in /etc/X11/xkb/symbols/inet, you may need to do extra work.

baktor 09-09-2005 01:36 PM

Suggested Solution
 
You may wish to read carefully and try the directions on this website. It got my Microsoft Wireless Desktop Elite keyboard to fully work on console AND X.

https://wiki.ubuntu.com/MultimediaKeys

artistikone 09-14-2005 10:51 PM

Thanks for the replies. With the PS/2 adapter, I was able to get the 'My Documents' button working. Following the link posted by baktor https://wiki.ubuntu.com/MultimediaKeys I was able to get the scancodes of all the keys and use setkeycodes to set their keycodes:

/usr/bin/setkeycodes e073 241
/usr/bin/setkeycodes e074 242
/usr/bin/setkeycodes e075 243
/usr/bin/setkeycodes e076 244
/usr/bin/setkeycodes e077 245
/usr/bin/setkeycodes e078 246
/usr/bin/setkeycodes e064 247
/usr/bin/setkeycodes e03c 248
/usr/bin/setkeycodes e005 249
/usr/bin/setkeycodes e016 250
/usr/bin/setkeycodes e00b 251
/usr/bin/setkeycodes e011 252

However, since this has been done, the dmesg output now shows:

keyboard.c: can't emulate rawmode for keycode 241
keyboard.c: can't emulate rawmode for keycode 241
keyboard.c: can't emulate rawmode for keycode 242
keyboard.c: can't emulate rawmode for keycode 242
keyboard.c: can't emulate rawmode for keycode 243
keyboard.c: can't emulate rawmode for keycode 243
keyboard.c: can't emulate rawmode for keycode 244
keyboard.c: can't emulate rawmode for keycode 244
keyboard.c: can't emulate rawmode for keycode 245
keyboard.c: can't emulate rawmode for keycode 245
keyboard.c: can't emulate rawmode for keycode 246
keyboard.c: can't emulate rawmode for keycode 246
keyboard.c: can't emulate rawmode for keycode 247
keyboard.c: can't emulate rawmode for keycode 247


keycodes 248-252 don't produce any output.

getkeycodes now shows this:

Plain scancodes xx (hex) versus keycodes (dec)
for 1-83 (0x01-0x53) scancode equals keycode

0x50: 80 81 82 83 99 0 86 87
0x58: 88 117 0 0 95 183 184 185
0x60: 0 0 0 0 0 0 0 0
0x68: 0 0 0 0 0 0 0 0
0x70: 93 0 0 89 0 0 85 91
0x78: 90 92 0 94 0 124 121 0

Escaped scancodes e0 xx (hex)

e0 00: 0 0 0 0 0 249 0 0
e0 08: 0 0 0 251 0 0 0 0
e0 10: 165 252 0 0 0 0 250 0
e0 18: 0 163 0 0 96 97 0 0
e0 20: 113 140 164 0 166 0 0 0
e0 28: 0 0 255 0 0 0 114 0
e0 30: 115 0 150 0 0 98 255 99
e0 38: 100 0 0 0 248 0 0 0
e0 40: 0 0 0 0 0 119 119 102
e0 48: 103 104 0 105 112 106 118 107
e0 50: 108 109 110 111 0 0 0 0
e0 58: 0 0 0 125 126 127 116 142
e0 60: 0 0 0 143 247 217 156 173
e0 68: 128 159 158 157 155 226 0 112
e0 70: 0 0 0 241 242 243 244 245
e0 78: 246 0 0 0 0 0 0 0

They also arn't outputing anything into xev

A side note - I'm now using the 2.6.12.5 kernel

baktor 09-24-2005 04:50 PM

Keyboard status
 
Artistikone, Are you using a Microsoft keyboard or a wireless keyboard where you have a "function" lock? With my keyboard, when you press the function lock button all extra keys return a different keycode. I run my keyboard in function lock mode all the time because without it, F1-F12 don't return the F1-F12 standard keycodes. If you have this, you may want to turn it on, also use both USB and PS/2 if you have a keyboard/mouse combo that has both plugs. I found that with just USB, the kernel wasn't as happy as it was once I plugged in the PS/2.


All times are GMT -5. The time now is 05:18 AM.