После использования Ctrl + "клавиши со стрелками" в течение 13 лет для переключения виртуальных рабочих столов в X-окна я был убежден недавно измениться на использование Супер ключей вместо этого (ключ окон и ключ контекстного меню, который я повторно отобразил). Это все хорошо работает по большей части. Однако что-то все еще берет ключевые события, которые отправляют эти ключи, как будто они - нормальное алфавитно-цифровое как ключ.
Например, я сначала заметил это в электронной таблице Google Docs что, если я нажимаю одну только клавишу окон по вершине ячейки, что она начинает редактировать ту ячейку. Это ничего не вставляет, это просто отправляет ключевое событие, которое Firefox видит и начинает редактировать ячейку. Это вызвало проблемы на совместном документе, я продолжал работать как путь работы документов Google, он привел ко мне случайно стирание данных в нескольких полях, прежде чем я понял то, что продолжалось.
Мне нравится использовать супер ключи, но я хочу, чтобы они вели себя больше как Ctrl, или клавиша Alt делает, в котором это - модифицирующая клавиша и ничего не отправляет, пока вторая клавиша не нажата.
Моя установка следующая:
удалите Блокировку = Caps_Lock
код клавиши 66 = Escape
! ниже карт мой другой ключ контекстного меню окон.
код клавиши 135 = Super_R
Править: Согласно просьбе вот соответствующий вывод от xev для нажатия клавиши и keyrelease моего Super_L (оставлен ключ окон)
KeyPress event, serial 34, synthetic NO, window 0x8200001,
root 0x15d, subw 0x0, time 2428849342, (177,174), root:(182,228),
state 0x10, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 34, synthetic NO, window 0x8200001,
root 0x15d, subw 0x0, time 2428849430, (177,174), root:(182,228),
state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Это не будет точно решением Вашей проблемы, извините для этого, но все еще должно быть полезно для кого-то, по крайней мере. В Gnome это было зафиксировано в недавнем Ubuntus. Им я означаю рассматривать Win не как модифицирующую клавишу. В былые времена, например, в Ubuntu 9.04, необходимо было сделать следующее изменение:
Перейдите в System -> Preferences -> Keyboard
, под Layouts
щелчок вкладки Layout options...
кнопка и в Alt/Win key behavior
список выбирает Meta is mapped to Win keys
(или Meta is mapped to Left Win
) вместо Default
.
Что это действительно делает? Изменения altwin
опция в $HOME/.gconf/desktop/gnome/peripherals/keyboard/kbd/%gconf.xml
файл (или создает его, если это не существует):
<?xml version="1.0"?>
<gconf>
<entry name="options" mtime="1298496603" type="list" ltype="string">
<li type="string">
<stringvalue>altwin altwin:meta_win</stringvalue>
</li>
</entry>
</gconf>
Если Вы выбрали Left Win
, затем там будет следовать за строковым значением:
altwin altwin:left_meta_win
В Ubuntu 10.10 это не нужно как Default
по-видимому, изменился.
Но у Вас есть XFCE, не Gnome, таким образом, это скорее не поможет Вам.
Я загрузил Xubuntu (9.10), играл с ним немного и наконец нашел решение.
Во-первых, тем не менее, я должен сказать, что настройки клавиатуры действительно завинчены в XFCE. В Settings -> Keyboard
под Layout
вкладка у Вас нет слишком многих опций. Вы не можете измениться XkbOptions
там и даже если Вы делаете это вручную в ~/.config/xfce4/xfconf/xfce-perchannel-xml/keyboard-layout.xml
, это будет перезаписано. Таким образом, я изменился /etc/default/console-setup
путем добавления altwin:meta_win
кому: XKBOPTIONS
(используйте запятую в качестве разделителя, если уже существует некоторая другая опция (опции)). Однако, никакая удача.
tl; доктор
Не заботьтесь о способе XFCE обработать клавиатуру, потому что это, по-видимому, повреждается. Использовать setxkbmap
непосредственно:
setxkbmap -option altwin:meta_win
(или left_meta_win
, независимо от того, что Вы предпочитаете),
Теперь необходимо проверить, что это действительно решило проблему.:)
echo -option altwin:meta_win >>~/.Xkbmap
Это может быть также сделано для всех пользователей путем записи в /etc/X11/Xkbmap
вместо этого.
altwin:meta_win
или altwin:left_meta_win
был применен?setxkbmap -print
Строка с xkb_symbols
должен иметь что-то как altwin(meta_win)
.