Linux на рабочем столе и некоторых серверах является все еще всеми X и графикой кадрового буфера. Под X-окном - Это прибывает GTK + и QT, ДА ОБА использования X систем, снова существует партия настольных сред - Gnome, KDE использует X дисплеев и их оболочки и т.д.
Btw, было недавнее видео из Linux conf (http://blip.tv/file/4693305/). Keith Packard от Intel, на котором говорят приблизительно X и GL*, Это было интересно.
(Этот ответ о xmodmap только. Я уверен, что возможно сделать это с XKB, я просто не знаю как.)
Модификаторы и keysyms присвоены независимо. Но Вы получаете странные эффекты, если Вы последовательно не устанавливаете их. Я думаю все, что Вы пропускаете, add
команда для присвоения модификатора Meta_L
, хотя Вы, возможно, также должны очистить и повторно присвоить модифицирующие клавиши. Можно заменить Mod1
и Mod2
Mod3
, Mod4
и Mod5
: они являются взаимозаменяемыми, просто удостоверьтесь, что Вы не используете один в двух различных целях.
clear Mod1
clear Mod2
remove Lock = Caps_Lock
keysym Caps_Lock = Alt_L
keysym Alt_L = Meta_L
add Mod1 = Alt_L Alt_R
add Mod2 = Meta_L Meta_R
Я нашел ответ на польском форуме Ubuntu. Теперь каждый не редактирует "xfree86" файл, но "evdev" файл. Таким образом, можно внести постоянные изменения, которые работают на все разметки.
Пример (по запросу Gilles) - входит в систему как корень, перейдите в
/usr/share/X11/xkb/keycodes
сделайте резервное копирование "evdev" файла и затем отредактируйте его. Измените коды на свою симпатию, например, в моем случае:
<LALT> = 66; // when I press CapsLock (66 code) system will report pressing LeftAlt
<LMTA> = 64; // I will get LeftMeta when pressing LeftAlt (64 code)
Можно найти то, что коды путем выполнения команды "xev", но можно просто посмотреть на исходный "evdev" файл.
Выйдите из системы, войдите в систему, наслаждайтесь своей новой клавиатурой :-).
Keyboard Preferences
опции для Capslock
переопределите пользовательское XKB
сконфигурируйтесь я пишу. Так как это - выбор переключателя, нет никакого способа, которым я вижу для остановки одного из правил от GUI от того, чтобы быть примененным.
– dcunited001
30.12.2015, 06:12
попробуйте это:
key <CAPS> { [ Alt_L, Alt_L ] };
key <LALT> { [ Meta_L, Meta_L ] };
modifier_map Mod1 { Alt_L, Alt_R };
modifier_map Mod5 { Meta_L, Meta_R };
отметьте два определения уровня. Это вызвано тем, что значением по умолчанию для LALT является [Alt_L, Meta_L]; если Вы не переопределите второй, то это останется Meta_L.
Посмотрите на этот ответ на xkb для того, как переопределить некоторые ключи без потребности отредактировать основные файлы по умолчанию (таким образом, никакая потребность быть корнем). В таком случае Вы должны будете в локальных символах зарегистрировать маленький раздел как:
partial modifier_keys
xkb_symbols "capsasalt_altasmeta" {
replace key <CAPS> { [ Alt_L, Alt_L ] };
replace key <LALT> { [ Meta_L, Meta_L ] };
modifier_map Mod1 { Alt_L, Alt_R };
modifier_map Mod5 { Meta_L, Meta_R };
};
keysym Caps_Lock = Alt_L
это, если Вы выполняете его дважды, это откладывает систему в нежелательное состояние. Вот почему я использую коды клавиши; они варьируются между операционными системами и архитектурой (не между клавиатурами), но не настолько часто. – Gilles 'SO- stop being evil' 19.03.2011, 13:47