Bug #375
closedFavi keyboard's arrow keys are not recognized by omxplayer
100%
Description
I need a keyboard config that allows the Favi keyboard's arrow keys to work with omxplayer. Currently there is no way to jump forward or back in omxplayer from the Favi keyboard.
See the ArchLinux descriptions for xmodmap and xkb extension.
Updated by Hammel over 10 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 20
After testing last night it appears the Favi's arrow keys are the same as a 101-key keyboard's arrow keys (keycodes 111,113,114,116), but the omxplayer wants the keys for the keypad (keycodes 80,83,85,88). I think this can be fixed with xmodmap though I haven't tried it yet.
See RM #361 for a way to identify the Favi in order to determine if the keyboard mappings should be changed.
Updated by Hammel over 10 years ago
- % Done changed from 20 to 50
Turns out the FAVI on the Pi has different keycodes. So the following actually works to get the arrow keys to work with omxplayer:
xmodmap -e 'keycode 198=KP_Up' xmodmap -e 'keycode 200=KP_Left' xmodmap -e 'keycode 201=KP_Right' xmodmap -e 'keycode 204=KP_Down'
So I just need to put this into a shell script and call it from xinitrc. This needs to go in the PiBoxMediaServer UI repo.
Updated by Hammel over 10 years ago
- Priority changed from Urgent to Immediate
- Target version changed from 0.10.0 to 0.9.0
Updated by Hammel over 10 years ago
- % Done changed from 50 to 60
- do xmodmap manually; xmodmap -pke > /root/.xmodmaprc (might now work anymore)
- do xmodmap manually; xmodmap -pke > /root/.Xmodmap (possible replacement for previous alternative)
- do xmodmap manually; echo "xmodmap /root/.xmodmaprc" > /root/.xsessionrc
- do xmodmap manually; echo "xmodmap /root/.xmodmaprc" > /root/.xinitrc
Another problem may be having xinitrc call lsusb to find the favi keyboard. I might want to have S10usbdev save the output from lsusb so other scripts can use it, or possibly use the -d option (which actually seems much slower that piping lsusb output to grep). A quick set of timed tests shows that grep'ing for the FAVI vendor/product ids from a file generated from the output of lsusb is MUCH faster than running lsusb and grep'ing its output directly. So S10usbdev should write that output to a file for other init scripts to use.
This file should be named usb.list and placed under /tmp/init which is created by rcS. rcS can then clean up that directory after it runs all the init scripts. This will allow future init updates to have a place to do similar things.
Updated by Hammel over 10 years ago
- Severity changed from 03 - Medium to 01 - Critical
Updated by Hammel over 10 years ago
- Status changed from In Progress to Closed
- % Done changed from 60 to 100
Updated S10usbdev in core repo to write out lsusb output to /etc/init.d/data/usb. Then updated xinitrc in UI repo to test for FAVI keyboard from that data and runs xmodmap to fix arrow key mappings.
Issue can be closed.