Різниця ліва / права супер кнопка


10

Коли я натискаю ліву Superклавішу, з'являється оболонка гнома, а коли я натискаю праву Superклавішу, вона не робить. Більше того, натискання праворуч Super+ Tвідкриває термінал одразу, але при використанні лівого супер я повинен натиснути Tдвічі, коли натискаю Tєдиний раз, це схоже на просто натискання клавіші Tбез утримання Superліворуч. Останній пункт також виникає з іншими ярликами, які я визначив (як Super+ L, Super+ E), але не з Super+ Up/Down/Left/Right.

Мені потрібно натиснути будь-яку Superклавішу, щоб отримати оболонку гнома, і використовувати будь-яку Superклавішу в поєднанні з, Tщоб негайно відкрити термінал (і подібне до інших ярликів). Я використовую Ubuntu 12.04 LTS та оболонку gnome 3.


В Settings Manager -> Keyboard, чи є такий варіант, як exo-open --launch TerminalEmulator? Якщо так, про що йдеться у другому стовпці, ярлик?
DaimyoKirby

1) Ви маєте на увазі розділ Клавіатура під системними налаштуваннями? Якщо так, я не можу його знайти там. 2) Якщо ви маєте на увазі менеджер налаштувань compiz, я також його не можу знайти. Незалежно від того, я спробував вашу команду в терміналі, і там сказано, що екзо-відкрито не встановлено, тому я дуже сумніваюся, що варіант буде там. Однак є спеціальний термінал запуску ярлика з командою x-terminal-emulator. Цим я користуюся, оскільки термін запуску за замовчуванням, здається, не працює.
Ерік

Відповіді:


4

рішення xmodmap

Я думаю, що ви можете зробити це за допомогою xmodmap , інструменту для зміни ключових карт. Оскільки у моєї клавіатури немає правої Superклавіші, я не можу підтвердити це рішення, тому, будь ласка, залиште коментар, якщо воно не працює.
Всі кроки виконуються в терміналі

Друк поточної карти модифікатора
Виконати

xmodmap

Це повинно надрукувати поточну карту модифікатора, яка повинна мати щось подібне

xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock      
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

Важливий рядок - mod4рядок, цей рядок показує, які коди ключів відображаються на символи клавіш Super_L та Super_R.

Резервне копіювання ключової карти
Перш ніж ми щось змінити, це гарна ідея зробити резервну копію поточної карти ключів, ми можемо це зробити

xmodmap -pke > ~/.xmodmap.orig

Тепер, якщо щось піде не так, ви можете просто набрати

xmodmap ~/.xmodmap.orig

щоб відновити оригінальну карту ключів. (Якщо ви зробили серйозні помилки і більше не можете належним чином ввести, перезавантаження також працює)

Перевірка поточної карти Super клавіш для клавіш
Якщо припустити, що в Superключах є послідовні коди ключів (у цьому випадку 0x85 та 0x86), ми можемо перевірити поточне відображення, запустивши

xmodmap -pke | grep -wA1 $((0x85))

звичайно, ви повинні змінити 0x85 за типовим кодом, який ви маєте на карті модифікатора. Це має дати вам

keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R

( $((0x85))перетворює шістнадцяткове число в десяткове)

Скопіюйте поведінку зліва Super направо Super
, як ви можете бачити з попереднього кроку правої Superклавіші має код ключа 134 , але ми хочемо, щоб поведінка лівої Superклавішею , яка має ключове код 133. Ми можемо зробити це шляхом перепризначення клавіші з допомогою

xmodmap -e "keycode 134 = Super_L NoSymbol Super_L"

Перевірка, чи працює,
якщо ви це зробите зараз

xmodmap -pke | grep -wA1 $((0x85))

ви повинні побачити

keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_L NoSymbol Super_L

це означає, що обидва ключі зараз мають однакову поведінку. Також карта модифікатора повинна змінитися на лінії mod4, і ми можемо перевірити це, запустивши

xmodmap | grep 'mod4'

що має дати

mod4        Super_L (0x85),  Super_L (0x86),  Super_L (0xce),  Hyper_L (0xcf)

І звичайно, ярлики, про які ви згадали, теж повинні працювати!

Зробити відображення стійким,
якщо воно працює, ви можете переконатися, що ці настройки автоматично застосовуються під час завантаження. Біжи

echo 'keycode 134 = Super_L NoSymbol Super_L' >> ~/.xmodmaprc

щоб зберегти своє власне відображення ключів у файлі ~/.xmodmaprc. Біжи

echo 'xmodmap ~/.xmodmaprc' >> ~/.xsessionrc

щоб переконатися, що користувацька карта ключів виконується під час завантаження вашого менеджера вікон.


1
Перш за все дякую за вашу відповідь, я зробив усе, щоб зробити картографування стійким. Вихід у терміналі був точно таким, як згадувалося, проте мої проблеми залишаються тими ж: лівий супер показує оболонку гнома, а правий - ні. І подібно до клавіш швидкого доступу, з лівим супер, вам доведеться двічі натиснути t, щоб відкрити термінал, а правого супер одного разу достатньо.
Ерік

1
хм, тоді я також незрозумілий: я думаю, ці ярлики обробляються на глибшому рівні.
Герхард Бургер

1
Ах, я знайшов звіт про помилку, напевно у більшості людей виникає однакова проблема :) bugzilla.gnome.org/show_bug.cgi?id=659899
Герхард Бургер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.