1

I have a PS3 Bluetooth remote which I have paired with my Ubuntu 14.04.1 system and a lot of the buttons work (i.e. they generate events which 'xev' can see) however a significant number do not (L1-L3, R1-R3 and others).

Unfortunately I need those buttons to control the volume so I am looking for a way to map them somehow.

I know the kernel sees those as events because 'evtest' sees their key presses, however X does not.

Note that previously I had this working on an older Ubuntu system (10.04.4) by following http://wiki.xbmc.org/index.php?title=How-to:Setup_PS3_BD_Remote however that doesn't seem correct anymore (input.conf doesn't hold mappings any more).

1 Answer 1

1

The buttons are not being seen by X because their key code is >255.

I tried LIRC to act as a remapping layer (using the devinput driver) but then I lost key repeating which was a deal breaker.

In the end I found http://www.thenautilus.net/SW/xf86-input-evdev/ and patched the driver (v2.8.2 on this version of Ubuntu).

ie

First install these packages

sudo apt-get install git automake autoconf pkg-config xcb-proto xutils-dev libtool xserver-xorg-dev libudev-dev

Clone the repo and build

git clone git://www.thenautilus.net/xf86-input-evdev
cd xf86-input-evdev
git pull git://www.thenautilus.net/xf86-input-evdev code-remap-2.8.2
./autogen.sh
make
sudo mv /usr/lib/xorg/modules/input/evdev_drv.so /usr/lib/xorg/modules/input/evdev_drv.so.orig
sudo cp ./src/.libs/evdev_drv.so /usr/lib/xorg/modules/input/evdev_drv.so

cat > /usr/share/X11/xorg.conf.d/99-evdev.conf <<EOF
Section "InputClass"
    Identifier "evdev keyboard catchall"
    MatchIsKeyboard "on"
    MatchDevicePath "/dev/input/event*”
    MatchProduct "PS3 Remote Controller"
    Driver "evdev"
    Option "event_key_remap" "311=76 313=75 318=74"
EndSection
EOF

This will re-map the right 1/2/3 buttons to volume up/down/mute.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .