Кажется, я нашел обходной способ решения этой проблемы.
Мой ~/.config/zathura/zathurarc
файл:
# midnight mode
map feedkeys ":set recolor-lightcolor \#002b36"
map feedkeys ":set recolor-darkcolor \#839496"
map ! feedkeys ""
# amber on dark slate
map feedkeys ":set recolor-lightcolor \#0a0a12"
map feedkeys ":set recolor-darkcolor \#ff9900"
map @ feedkeys ""
# green on black
map feedkeys ":set recolor-lightcolor #000000"
map feedkeys ":set recolor-darkcolor \#00B800"
map \# feedkeys ""
# original (black on white)
map feedkeys ":set recolor-lightcolor \#ffffff"
map feedkeys ":set recolor-darkcolor \#000000"
map $ feedkeys ""
Как Вы можете видеть выше, согласно zathurarc
справочной странице (ZATHURARC(5)
), я mapping
команды set
для Special keys
, а затем maps
для моих привязок. Обратите внимание, что в Zathura у меня нет никаких привязок к этим клавишам(
).
Редактировать:Поскольку F5
назначен режиму презентации, я изменил map
на map
, а другой maps
итеративно вверх.
Are the Alt+Ctl+FN key combinations (aka srvrkeys) hardcoded into Xorg?
Нет, это не так. Их можно настроить через Xkb . Но понимание того, как эффективно и правильно настроить Xkb, заняло бы у кого-то больше жизни; -).
Но в качестве простого хака, полностью на стороне клиента -, это должно позволить вам переключаться только с помощью Alt-F1
вместо Ctrl-Alt-F1
[см. разницу в конце, если ваш макет настолько отличается, что ed
скрипт не работает]:
xkbcomp $DISPLAY - > xkb
cp xkb xkb~
ed xkb <<EOT
/type "CTRL+ALT"/
/Level5/s/Control+//p
w
EOT
xkbcomp - $DISPLAY < xkb
Однако обратите внимание, что среда вашего рабочего стола может переопределить ваши изменения. Кроме того, простоAlt-Backspace
(обычная привязка клавиш в некоторых редакторах )вместо Ctrl-Alt-Backspace
может убить ваш сервер X11, если у вас включена эта опция (найдите Terminate_Server
в сгенерированном файле xkb
выше ).
diff xkb~ xkb
...
@@ -376,15 +376,15 @@
type "CTRL+ALT" {
modifiers= Shift+Control+Alt+LevelThree;
map[Shift]= Level2;
preserve[Shift]= Shift;
map[LevelThree]= Level3;
map[Shift+LevelThree]= Level4;
preserve[Shift+LevelThree]= Shift;
- map[Control+Alt]= Level5;
+ map[Alt]= Level5;
level_name[Level1]= "Base";
level_name[Level2]= "Shift";
level_name[Level3]= "Alt Base";
level_name[Level4]= "Shift Alt";
level_name[Level5]= "Ctrl+Alt";
};
type "LOCAL_EIGHT_LEVEL" {