XF86 Keyboard Codes? xmodmap?
#1
I have a DiNovo Edge keyboard and I'm working on setting up the extra multi-media buttons.
I'm using KDE 3.5 running on top of Ubuntu 8.10 (took some doing, but I don't wanna use KDE 4.1 yet).

I started out by doing Settings > Regional & Accessiblity > Keyboard Layout.
There are two pre-built layouts that seemed like they might be relevant
-"Logitech diNovo Edge Keyboard"
-"Logitech diNovo Keyboard"

I've tried both with the same results, and they seem for all important purposes identical. For the record I am using the "Edge" one since thats what I own (according to Logitech).

The pre-set layout seems pretty awesome at first, with most buttons working right away.
Ran into a few snags, though.
The layout outputs XF86 functions for the media stuff.
However, the "Stop" button outputs XF86AudioLowerVolume!
Even weirder, this button is the only one I can get to do anything in XBMC, and XBMC does indeed lower the volume when I press stop. This seems to happen regardless of my keymap.xml. I have verified that my keymap is in the right place and is valid since my customized IR remote stuff is all working fine.

I figured out how to make xmodmap output a layout file which I could then go in and edit by hand, which allowed me to remap XF86AudioStop to the Stop key. However, all the various methods I've tried to make my system use my custom xmodmap file work fine in all apps except XBMC.

Is there some way to get everything unified together? Does XBMC on Linux use SDL to do the input? I'm having a hard time figuring out what XBMC is doing to get its input from the keyboard.

In my debug logs, I see this stuff:

GetActionCode: Trying Hardy keycode for 0xffbb
OnKey: 65467 pressed, action is 88

which corresponds to me hitting my "stop" key and getting XBMC turning the volume down. Is this XBMC getting the keycode from X in, only displayed in hex? I don't understand what's happening here, and I'd like to so I can somehow get my extra buttons working in XBMC. I'm guessing there's no way to make XBMC respond to those XF86 codes?

EDIT

This may be useful info, here's the keycodes for the keys I'm trying to get working properly system-wide, as reported via xev:
123 Volume Up
122 Volume Down
121 Volume Mute

173 Previous Track
174 Stop
172 Play / Pause
171 Next Track

-EDIT 2-

Also, some of my keys create this in the debug log:
SDLKeyboard found something unknown (unicode <> printable ASCII): scancode: 173, sym: 0, unicode: 0, modifier: 0
Catchy Signature Here
Reply
#2
Im not sure, but it seems your issues are the same I'm having with a friends DiNovo Mini keyboard under intrepid.

I'm no dev so I'm just gonna go ahead and guess here, but I think the problem may lie either in SDL or in our SDL routines
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#3
I think that may be it. It seems like SDL doesn't get keyboard input through X in the usual way, which I think is why my Xmodmap doesn't do anything. I could be wrong. I was thinking about doing Xmodmap and setting up the media buttons to do just regular keypresses, but I think that would screw up my other shortcuts and just generally seems like a really inelegant solution.

I'd be really curious to see what the devs say about this, as I would like to have my super swanky DiNovo 100% functional in XBMC, and I can't help but think this will be an ongoing problem as more people start using XBMC.
Catchy Signature Here
Reply

Logout Mark Read Team Forum Stats Members Help
XF86 Keyboard Codes? xmodmap?0