Як я можу змусити Ctrl + Alt діяти як Alt gr в Ubuntu?


11

Нещодавно я перейшов на Ubuntu на своєму ноутбуці, і одне, що мало не змусило мене перейти до windows - це те, що я не можу зробити Ctrl+ Altдіяти як Alt gr.

Я програмував протягом декількох років, і, наприклад, я так звик робити знак "$", натискаючи ctrl+ alt+ 4. Тут, в Ubuntu, я маю використовувати "Alt gr + 4" відьма майже змушує мене шалено ...

Чи є виправлення на це?


1
ви спробували грати з відображеннями композиційного ключа? help.ubuntu.com/community/ComposeKey
Тім Кеннеді

Ви можете використовувати xmodmapкоманду для цього. Перевірте це askubuntu.com/questions/5095/typing-using-key-combinations
Bichoy

Спробуйте xmodmap, який доступний у пакеті x11-xserver-utils в ubuntu. Це дозволяє перевпорядкувати будь-яку комбінацію клавіш.
Воррен

@elitasson Якщо ви дізналися відповідь на власне запитання, будь ласка, надішліть це окремою відповіддю.
Бернхард

@Bernhard Ні, цього не можна зробити за допомогою xmodmap. Він не підтримує створення комбінації Ctrl + Alt виразним модифікатором. Але я думаю, що ви можете з xkb .
Жил "ТАК - перестань бути злим"

Відповіді:


3

Ви можете додати глобальні ярлики для написання спеціальних символів. Я часто використовую це для моєї німецької розкладки клавіатури з Ubuntu (у Windows це працює поза коробкою).

Я додав такі ярлики:

Shift+ Enter+ 7написати лист{

Shift+ Enter+ 0написати лист}

Shift+ Enter+ 8написати лист[

Shift+ Enter+ 9написати лист]

Для того, щоб додати ці ярлики вам потрібно xbindkeysі xvkbd:

sudo apt-get install xbindkeys xvkbd

Потім відредагуйте файл конфігурації:

vim ~/.xbindkeysrc

І додайте наступні рядки (відредагуйте їх за своїм бажанням):

"xvkbd -xsendevent -text '{'"
    m:0xc + c:16
    Control+Alt + 7

"xvkbd -xsendevent -text '['"
    m:0xc + c:17
    Control+Alt + 8

"xvkbd -xsendevent -text ']'"
    m:0xc + c:18
    Control+Alt + 9

"xvkbd -xsendevent -text '}'"
    m:0xc + c:19
    Control+Alt + 0

"xvkbd -xsendevent -text '\[backslash]'"
    m:0xc + c:20
    Control+Alt + ssharp

"xvkbd -xsendevent -text '\[asciitilde]'"
    m:0xc + c:35
    Control+Alt + plus

Потім перезавантажте xbindkeys:

xbindkeys -f ~/.xbindkeysrc

Завдяки whiz, який поділився цим ( http://forum.ubuntuusers.de/topic/strg-%2B-alt-alt-gr-wie-in-windows/ ).


1
Чи можете ви пояснити, що робить рядки m: 0xc + c: XX?
елітассон

1
Я знаю, що це старе питання та відповідь, але лише для тих, хто хоче додати більше символів, таких як | або @ або €: Ключові коди, які використовуються у c:XX, наскільки я знаю, не є універсальними, тому вам не пощастить гуглювати. Однак ви можете дізнатися код ключа локально, встановивши та виконавши "xev" у вашому командному рядку. Він надрукує всі ваші дії на клавіатурі та миші, тому вам доведеться трохи прокрутити, щоб знайти "свого" персонажа.
Нано Мірат

1
Наприклад, натискання <(для налаштування |) під час запуску xev виводить це: KeyRelease event, serial 40, synthetic NO, window 0x4c00001, root 0x7e, subw 0x0, time 35363548, (135,60), root:(903,472), state 0x0, keycode 94 (keysym 0x3c, less), same_screen YES, XLookupString gives 1 bytes: (3c) "<" XFilterEvent returns: Falseчисло, яке вам потрібно, завжди знаходиться в третьому рядку після "клавішного коду". Так у цьому випадку, 94.
Нано Мірат

2

Після спроб і не в змозі змусити його працювати з комбінацією xbindkeys та xvkbd / xte (я ніколи не міг змусити певних символів {, [,],}, \ і т.д. поводитись належним чином, можливо, тому що я використовую скандинавську розкладку клавіатури), Нарешті я знайшов просте і практичне рішення: Autokey. Ось точні вказівки для його роботи:

  1. Встановіть Autokey за допомогою програмного забезпечення Ubuntu (я використовував версію GTK, а не KDE) або: “sudo apt-get install autokey-gtk”.
  2. Налаштуйте один сценарій на ключ, наприклад для {використовуйте цей код: keyboard.send_keys("<alt_gr>+7")і встановіть гарячу клавішу на Ctrl + Alt + 7 (спочатку встановіть гарячу клавішу на 7, потім додайте Ctrl та Alt як модифікатори). Це принаймні спрацювало для найважливіших ключів для написання коду: {[]}.
  3. Додайте автоматичну клавішу до програм запуску (знайдіть "пуск", щоб знайти її), а потім додайте програму з "автозапуском" як команду.

Це рішення буде працювати для будь-якого запущеного поточного X-сеансу (я думаю), але не буде працювати, якщо ви запустили новий термінальний сеанс за допомогою Ctrl + Alt + (F2-F6).


1

Хоча це все ще не відповідає на ваше запитання, я вважаю це простішим рішенням, ніж інші відповіді.

Щоб зробити R-ALTроботу подібною AltGr, ви можете додати такий рядок до свого ~/.xinitrc:

setxkbmap -option lv3:ralt_switch

AltGrМожна знайти інші способи переходу на 3-й рівень (той, який зазвичай досягається за допомогою ключа), і нові шляхи можна визначити в /usr/share/X11/xkb/symbols/level3.


1

Ось що я зробив для того, щоб L-Altдія ключа була точно такою, як Altgrключ. Я не намагався з CtrlAltключем

Він полягає у зміні файлу level3

У терміналі змініть каталог:

cd /usr/share/X11/xkb/symbols

зробити копію файлу level3:

sudo cp level3 level3.old

редагуйте рівень 3 за допомогою будь-якого текстового редактора:

sudo gedit level3 

Ви повинні знайти такий блок:

  key <RALT> {
    type[Group1]="ONE_LEVEL",
    symbols[Group1] = [ ISO_Level3_Shift ]
    };
  modifier_map Mod5   { ISO_Level3_Shift };

Додайте копію блоку за допомогою LALT (лівий alt) замість RALT (altgr):

  key <LALT> {
    type[Group1]="ONE_LEVEL",
    symbols[Group1] = [ ISO_Level3_Shift ]
    };
  modifier_map Mod5   { ISO_Level3_Shift };

Тепер, повинні бути ще 3 блоки, починаючи з key <RALT>

Зробіть те саме з ними.

Збережіть і закрийте.


0

Я використовую спеціальні знаки лише тоді, коли пишу код, тому мені вдалося виправити це Піднесений текст.

У налаштуваннях -> Прив'язки клавіш - Користувач

вставити таке:

[
{ "keys": ["ctrl+alt+2"], "command": "insert", "args": {"characters": "@"} },
{ "keys": ["ctrl+alt+3"], "command": "insert", "args": {"characters": "£"} },
{ "keys": ["ctrl+alt+4"], "command": "insert", "args": {"characters": "$"} },
{ "keys": ["ctrl+alt+5"], "command": "insert", "args": {"characters": "€"} },
{ "keys": ["ctrl+alt+7"], "command": "insert", "args": {"characters": "{"} },
{ "keys": ["ctrl+alt+8"], "command": "insert", "args": {"characters": "["} },
{ "keys": ["ctrl+alt+9"], "command": "insert", "args": {"characters": "]"} },
{ "keys": ["ctrl+alt+0"], "command": "insert", "args": {"characters": "}"} },
{ "keys": ["ctrl+alt++"], "command": "insert", "args": {"characters": "\\"} },
{ "keys": ["ctrl+alt+<"], "command": "insert", "args": {"characters": "|"} }

]

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.