-   Slackware (
-   -   xmodmap broken in Slackware 13.0 and above? (

croxen 10-31-2011 08:53 AM

xmodmap broken in Slackware 13.0 and above?
For years I have used a Snapstream Firefly mini to control Mythtv installations, configuring it as a USB keyboard device (as described to avoid setting up a 2nd Lirc instance.

The mini as keyboard, using xmodmap to set keycodes to keyboard keys works perfectly in Slackware 12.2. Beginning with Slack 13.0 and continuing through at least 13.1, xmodmap seems to be partially broken. Though xmodmap always appears to execute properly, it can only map certain keys. With other keys, xev shows nothing is being mapped after xmodmap executes.

For example:

xmodmap -e "keycode 160 = F9"

will work fine.

xmodmap -e "keycode 164 = Escape"

maps nothing. Among the other keys that xmodmap doesn't appear to be able to map are p, m, r, and several other random keys. In each case, xmodmap appears to execute, but xev confirms that nothing was mapped.

I've tried this with clean installs of 13.0 and 13.1, and xmodmap fails as described.

If, however, I take a 13.1 Slack install, remove everything X related, and instead install the "x" and "xap" packages from Slackware 12.2 on top of this 13.1 installation, the 12.2 version of xmodmap with the Slack 12.2 version of X will function correctly in Slack 13.1

Nor does the behavior appear to be dependent on desktop environment or WM in use: xmodmap behaves as described in Blackbox, Xcfe, and fvwm (the various environments that I've tried).

Can anyone else confirm this odd behavior of current versions of X and xmodmap? I was unable to find any solid references for odd xmodmap/X behavior on the web.

titopoquito 10-31-2011 12:03 PM

I am working on Slackware 13.37 and your example above works nicely here. I have taken keycode 127 (Pause) and have assigned successfully "Escape" and "p" to it, as xev output shows. I have no older installations so I cannot speak for 13.1 or 13.0.

croxen 11-01-2011 08:01 AM

Thanks for testing for me in 13.37.

Now at least I know that either 1) there was a xmodmap problem in 13.0-13.1 which was corrected in 13.37 or 2)There is something peculiar about my X installation that causes the breakage above Slack 12.2 for me. 2) is more likely, I suppose, considering the odd array of HTPC apps I run, with old Mythtv 0.21 at the center of it all, hooked to XBMC 10.

In any event, my potential solutions are clear: 1) move to Slack 13.37, which will entail a lot of version upgrading nightmares --Myth 0.21 won't compile on 13.37 and I'm not quite ready for the crippled software that is Myth version 0.24 (though it does compile nicely). And I may still end up with my Firefly-mini/xmodmap issues, if they are indeed app-based.

On the other hand, Snapstream is out of the remote business, and the Firefly-mini is discontinued. So more logical will be to bite the bullet (but a much smaller bullet than the first option) and move to a currently-manufactured lirc-based USB remote, like an MCE variety. This at least will allow me to run a completely homogeneous 13.1 system.

So this will be what I'll do. Thanks again for helping me sort it out! :)

All times are GMT -5. The time now is 06:57 PM.