Для тех, кому не хватает навигации по j/k в FBReader.
Также, скрипт должен быть интересен тем, кому нужно забиндить выполнение команды на клавишу, без изменения ее поведения (в отличии от xbindkeys), например, написать кейлоггер на Bash.
#!/bin/bash
press_key_on() {
# Presses <key> if <event> is printed by `xinput test`
# and target window is focused
#
# Args: <event> <key>
if [[ $in = $1 ]]; then
get_ids
if [[ $win_active = $win_target ]]; then
xdotool key $2
fi
fi
}
keyboard_id=9 # use xinput to find your keyboard id
get_ids() {
win_target=$(xdotool search --onlyvisible --limit 1 --class FBReader) # adjust this for your case
win_active=$(xdotool getactivewindow)
}
xinput test $keyboard_id | while read in ; do
press_key_on "key press 44" "Down" # j
press_key_on "key press 45" "Up" # k
done