You are not logged in.
Hello there,
I am using Acer Aspire 5920G notebook. There are touch sensitive media (play, pause, etc) buttons on my keyboard [0]. However, on linux, they behave as if they are mouse buttons. I am using a usb mouse with 9 buttons. And I want to use these touch sensitive buttons as multimedia buttons. To configure them with xbindkeys or something similar, I need to set these buttons' button numbers as different from my default mouse buttons. Input device block of these buttons is /dev/input/event4, is it possible to configure this device's buttons numbers? Here is these buttons' xev outputs:
ButtonPress event, serial 36, synthetic NO, window 0x3400001,
root 0x13c, subw 0x0, time 1397192, (160,8), root:(1229,313),
state 0x0, button 4, same_screen YES
ButtonRelease event, serial 36, synthetic NO, window 0x3400001,
root 0x13c, subw 0x0, time 1397252, (160,8), root:(1229,313),
state 0x800, button 4, same_screen YES
ButtonPress event, serial 36, synthetic NO, window 0x3400001,
root 0x13c, subw 0x0, time 1397484, (160,8), root:(1229,313),
state 0x0, button 5, same_screen YES
ButtonRelease event, serial 36, synthetic NO, window 0x3400001,
root 0x13c, subw 0x0, time 1397569, (160,8), root:(1229,313),
state 0x1000, button 5, same_screen YES
ButtonPress event, serial 36, synthetic NO, window 0x3400001,
root 0x13c, subw 0x0, time 1397807, (160,8), root:(1229,313),
state 0x0, button 6, same_screen YES
ButtonRelease event, serial 36, synthetic NO, window 0x3400001,
root 0x13c, subw 0x0, time 1397897, (160,8), root:(1229,313),
state 0x0, button 6, same_screen YES
ButtonPress event, serial 36, synthetic NO, window 0x3400001,
root 0x13c, subw 0x0, time 1398105, (160,8), root:(1229,313),
state 0x0, button 7, same_screen YES
ButtonRelease event, serial 36, synthetic NO, window 0x3400001,
root 0x13c, subw 0x0, time 1398185, (160,8), root:(1229,313),
state 0x0, button 7, same_screen YES
Offline
Any idea?
Offline
try with "xinput set-button-map [#device] [buttons]"
man xinput for more informantions...
there's a wiki entry by the way....search for "multimedia buttons"
Offline
Wow, it's great, however, didn't solve my problem.
Here is my /proc/bus/input/devices -> http://www.pastie.org/594891
I runned the command
xinput set-button-map "SynPS/2 Synaptics TouchPad" 9 10 11 12
My touchpad doesn't work, so this touchpad device can only be my touch sensitive media buttons. And this command didn't change anything although it looks like it's runned successfully. My touch buttons are still acting as if they are 4 5 6 7 buttons.
Btw, multimedia buttons search didn't give anything :S
Offline
I think the device should be a number....
do first "xinput list" and then see the ID number of the device ( with ""), then use it on the command above...like:
xinput set-button-map "5" 1 2 3 17 18 19 20 8 9 10 11 12"
ps: this is just an example....it's my config, and the order of the numbers matters....I had to try many times until it was right, and actually it still swaps some multimedia buttons with the scroll buttons sometimes....
EDIT: I believe the real proper way is through HAL, but messing with the fdi files are a pain in the **... this works....
Last edited by joaca_rj (2009-08-26 09:04:33)
Offline
My xinput list output: http://www.pastie.org/595174
And after seeing this output, i tried
xinput set-button-map "5" 1 2 3 4
But it still doesn't work. The strange thing is that
[hsa2@difuzyon][12:34] ~ $ xinput get-button-map "5"
1 2 3 4 5 6 7 8 9 10 11 12
It looks like this isn't the device that I'm looking for. But which else device can it be? There used to be two different SynPS/2 Synaptics TouchPad devices on list. One of them disaapeared and I think my touchpad disappeared, because it doesn't work (broken). How can I find the true device? Is there any paramater for xev to make it show source device of the input?
Offline
In the Acer Aspire 5920 series, the multimedia is actually a synaptics touchpad.... Some time ago, xinput list would show two synaptics touchpad, but I believe that it was changed, and now show as only one ( with 12 buttons)...
Its a matter of trying... but actually my configuration stoped working too, the scroll is now multimedia and vice versa, but since they've just swapped, changing the order of the buttons numbers ( by trial and error ) should fix it.... I'll try that as soon as I can....
Last edited by joaca_rj (2009-08-26 16:07:05)
Offline
For all acer 5920 users This ubuntu how-to works for arch flawlessly. Tried with banshee player.
http://ubuntuforums.org/showthread.php?p=7686781
Last edited by marci003 (2009-08-30 08:15:35)
Offline
OMG! I've been trying to get these buttons working for about two years. Whatever I did, I just couldn't. Now it's working, i can't believe
Looks like this is your first post on forum, and it's perfect one
Last edited by hsa2 (2009-08-30 11:44:27)
Offline
Thanks
Well,.. Try googling or browsing ubuntu forums / solutions first. They usually have the answers for anything. Also, I came from ubuntu, that's why I know.
Offline
Well, now it doesn't work anymore is there a way to use it(with vlc in my case)?
Offline
Hi pojin,
I've written a step-by-step guide for touch sensitive acer 5920 buttons. You can follow this guide if you want. If you encounter a problem and describe, it will be easier for other people to help you.
You can find my guide at http://difuzyon.net/hsa2/tag/touch-sens … a-buttons/
Offline
I have nothing after /policy/... what now?
thanks.
Last edited by pojin (2010-08-08 10:31:41)
Offline
pojin,
You should create the directory and the file yourself.
Offline
I believe that using some type of graphical mixer program works as well, such as gmixer or voltaire.
Also, really old thread.
Offline
pojin,
You should create the directory and the file yourself.
Ok..but which one is acer media keys here?
xinput list|grep id
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ PIXART USB OPTICAL MOUSE id=11 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Acer CrystalEye webcam id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
Offline
It is the one with id 13 or 14. To understand which is true, you should try.
Offline
It still doesn't work. I waited and searched for months but nothing... happy new year
Offline
Hi there, I solved this problem long time ago, but I didn't post anything because I'm a little bit lazy xD
I basically reached the same place as you, getting a different mapping with xinput. The difference is that I'm using xbindkeys to map the "buttons" as mediaKeys. My solution was working fine, but unfortunately in recent changes (kernel version? udev??) it seems the mediakeys has a different id on each start. So I decided to do a very nice script I'm going to share with you
Here is the multimedia.sh script:
#!/bin/bash
# Get the ids for touchpad devices
ids=`xinput --list | sed -ne 's/^.*Synaptics TouchPad.*id=\(.*\)\t.*$/\1/p'`
for id in `echo $ids`
do
res=`xinput --list-props $id | sed -ne 's/^.*Resolution.*:\t\(.*\)/\1/p'`
# Resolution property for media touchpad is "1, 1"
if [ "$res" = "1, 1" ]; then
id_mm=$id
fi
done
# Switch off Repeat mode for multimedia keyboard
prop_id=`xinput --list-props $id_mm | sed -ne 's/^.*Repeat (\(.*\)).*$/\1/p'`
xinput --set-prop $id_mm $prop_id 0 0
# set a different mapping
xinput --set-button-map $id_mm 0 0 0 9 10 11 12
# activate xbindkeys
xbindkeys
Paste it in a .sh, give it chmod +x and place it in ~/.kde4/Autostart to start it every boot.
You must install xbindkeys (and xte if it's not installed, for the next step)
Next code are the bindings for xbindkeys, in ~/.xbindkeysrc
"xte 'key XF86AudioPlay'"
b:9
"xte 'key XF86AudioStop'"
b:10
"xte 'key XF86AudioPrev'"
b:11
"xte 'key XF86AudioNext'"
b:12
This way, the multimedia keys are mapped as real multimedia keys, I think amarok is configured to work with multimedia keys by default
Hope this helps And sorry for not having it shared before... enjoy!
Offline
Sorry to bring up this topic again.
Has someone else noticed, that the media touch buttons ain't very responsive anymore. This happened on a recent update of the xserver from 1.12.2-1 to 1.12.3.-1. I have to press the media buttons for ~ 0.5sec, before a keypress will be recognized.
I tracked it down to certain commit and submitted the bug entry: https://bugs.freedesktop.org/show_bug.cgi?id=52166
Can someone else confirm this behaviour? And if so could you please raise your voice in the bug entry?
Regards
Offline
The buttons doesn't work for me anymore, capture from xev returns nothing
Offline
Have you tried downgrading to xorg-server 1.12.2-1? This works for me as a temporal solution.
edit: With xorg-server 1.12.3-1 I get the delayed button events only, if "Synaptics Button Scrolling Repeat" is set to default (1, 1). I don't get anything from xev, if I set it to no repetition (0, 0).
Last edited by olebowle (2012-07-30 21:31:01)
Offline
Have you tried downgrading to xorg-server 1.12.2-1? This works for me as a temporal solution.
edit: With xorg-server 1.12.3-1 I get the delayed button events only, if "Synaptics Button Scrolling Repeat" is set to default (1, 1). I don't get anything from xev, if I set it to no repetition (0, 0).
Nope, haven't tried yet, but hopefully it behaves like in your case. In my script I remember I set the property to no repetition, so it must be the same case. I rarely use my laptop, so I updated it just to verify this bug
Maybe it's just one property with wrong value, I'll play with it and tell you what I figure out
Offline
Downgrading doesn't work for me, it doesn't load X at all Can you post your properties to compare with new ones? (xinput list-props device-id)
Mine are:
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (147): 1
Coordinate Transformation Matrix (149): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (272): 1
Device Accel Constant Deceleration (273): 2.500000
Device Accel Adaptive Deceleration (274): 1.000000
Device Accel Velocity Scaling (275): 12.500000
Synaptics Edges (276): 1752, 5192, 1620, 4236
Synaptics Finger (277): 25, 30, 256
Synaptics Tap Time (278): 180
Synaptics Tap Move (279): 221
Synaptics Tap Durations (280): 180, 180, 100
Synaptics ClickPad (281): 0
Synaptics Tap FastTap (282): 0
Synaptics Middle Button Timeout (283): 75
Synaptics Two-Finger Pressure (284): 282
Synaptics Two-Finger Width (285): 7
Synaptics Scrolling Distance (286): 100, 100
Synaptics Edge Scrolling (287): 1, 0, 0
Synaptics Two-Finger Scrolling (288): 0, 0
Synaptics Move Speed (289): 1.000000, 1.750000, 0.039809, 40.000000
Synaptics Edge Motion Pressure (290): 30, 160
Synaptics Edge Motion Speed (291): 1, 401
Synaptics Edge Motion Always (292): 0
Synaptics Button Scrolling (293): 1, 1
Synaptics Button Scrolling Repeat (294): 0, 0
Synaptics Button Scrolling Time (295): 100
Synaptics Off (296): 0
Synaptics Locked Drags (297): 0
Synaptics Locked Drags Timeout (298): 5000
Synaptics Tap Action (299): 0, 0, 0, 0, 1, 2, 3
Synaptics Click Action (300): 1, 1, 1
Synaptics Circular Scrolling (301): 0
Synaptics Circular Scrolling Distance (302): 0.100000
Synaptics Circular Scrolling Trigger (303): 0
Synaptics Circular Pad (304): 0
Synaptics Palm Detection (305): 0
Synaptics Palm Dimensions (306): 10, 200
Synaptics Coasting Speed (307): 20.000000, 50.000000
Synaptics Pressure Motion (308): 30, 160
Synaptics Pressure Motion Factor (309): 1.000000, 1.000000
Synaptics Grab Event Device (310): 1
Synaptics Gestures (311): 1
Synaptics Capabilities (312): 1, 0, 1, 0, 0, 1, 1
Synaptics Pad Resolution (313): 1, 1
Synaptics Area (314): 0, 0, 0, 0
Synaptics Noise Cancellation (315): 25, 25
Device Product ID (267): 2, 7
Device Node (268): "/dev/input/event13"
Offline
My properties are exactly the same for 1.12.2-1 and 1.12.3-1. So I don't think it's an configuration issue. Strange that you can't downgrade, I did it in Single user mode. This way the xsever isn't running any more. Maybe that's the problem?
As i wrote earlier I tracked it down to http://cgit.freedesktop.org/xorg/xserve … 2381a1899e
After this commit it doesn't work as before.
Here are my properties:
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (141): 1
Coordinate Transformation Matrix (143): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (267): 1
Device Accel Constant Deceleration (268): 2.500000
Device Accel Adaptive Deceleration (269): 1.000000
Device Accel Velocity Scaling (270): 12.500000
Synaptics Edges (271): 1752, 4900, 1800, 4236
Synaptics Finger (272): 25, 30, 256
Synaptics Tap Time (273): 180
Synaptics Tap Move (274): 221
Synaptics Tap Durations (275): 180, 180, 100
Synaptics ClickPad (276): 0
Synaptics Tap FastTap (277): 0
Synaptics Middle Button Timeout (278): 75
Synaptics Two-Finger Pressure (279): 282
Synaptics Two-Finger Width (280): 7
Synaptics Scrolling Distance (281): 100, 100
Synaptics Edge Scrolling (282): 1, 1, 0
Synaptics Two-Finger Scrolling (283): 0, 0
Synaptics Move Speed (284): 1.000000, 1.750000, 0.039809, 40.000000
Synaptics Edge Motion Pressure (285): 30, 160
Synaptics Edge Motion Speed (286): 1, 401
Synaptics Edge Motion Always (287): 0
Synaptics Button Scrolling (288): 1, 1
Synaptics Button Scrolling Repeat (289): 0, 0
Synaptics Button Scrolling Time (290): 100
Synaptics Off (291): 0
Synaptics Locked Drags (292): 0
Synaptics Locked Drags Timeout (293): 5000
Synaptics Tap Action (294): 2, 0, 0, 0, 1, 3, 2
Synaptics Click Action (295): 1, 1, 1
Synaptics Circular Scrolling (296): 0
Synaptics Circular Scrolling Distance (297): 0.100000
Synaptics Circular Scrolling Trigger (298): 0
Synaptics Circular Pad (299): 0
Synaptics Palm Detection (300): 0
Synaptics Palm Dimensions (301): 10, 200
Synaptics Coasting Speed (302): 0.000000, 50.000000
Synaptics Pressure Motion (303): 30, 160
Synaptics Pressure Motion Factor (304): 1.000000, 1.000000
Synaptics Grab Event Device (305): 1
Synaptics Gestures (306): 1
Synaptics Capabilities (307): 1, 0, 1, 0, 0, 1, 1
Synaptics Pad Resolution (308): 1, 1
Synaptics Area (309): 0, 0, 0, 0
Synaptics Noise Cancellation (310): 25, 25
Device Product ID (262): 2, 7
Device Node (263): "/dev/input/event7"
The only differences are in: Synaptics Edges, Synaptics Edge Scrolling, Synaptics Tap Action, Synaptics Coasting Speed and Device Node.
Offline