Как я могу изменить действия клавиш на клавиатуре? (Как я могу создать пользовательские команды клавиатуры / сочетания клавиш?)


131

Я хочу изменить привязки клавиш на некоторых клавишах на моей клавиатуре. Я хочу, чтобы некоторые запускали команды, а другие активировали разные ключи.

Какие приложения я могу использовать для этого?


Индекс:


Я все еще ищу ответы, используя dconf и любой другой метод.


Может быть, xmacro принадлежит в этом ответе? он может "записывать / воспроизводить нажатия клавиш и движения мыши на дисплеях X".
roadmr

@roadmr Если я могу использовать его для создания пользовательских сочетаний клавиш, то да!
Сет

Спасибо за добавление этой темы. Я ищу способ использовать клавишу, как кнопку мыши (удерживайте и перетащите, нажмите и т. Д.). Это, кажется, отсутствует в теме.
krumpelstiltskin

@krumpelstiltskin В настоящее время я не знаю ни одного способа добиться такого точного дублирования мыши. Я предлагаю вам задать новый вопрос. Если я выясню это, я все равно смогу ответить там, или кто-то другой мог бы получить лучший ответ :)
Сет

1
вот xkbответ: askubuntu.com/a/347382/354350
DJCrashdummy

Ответы:


94

xbindkeys ..

sudo apt-get install xbindkeys

Xbindkeys - очень универсальная программа, которая позволяет очень легко переназначать ключи. Он использует конфигурационный файл, мой по умолчанию, расположенный в вашем домашнем каталоге, чтобы изменить привязки клавиш на определенные команды.

Для создания файла конфигурации по умолчанию вы используете команду:

xbindkeys --defaults

Который печатает файл конфигурации по умолчанию. Поэтому, если вы хотите создать файл, содержащий значения по умолчанию, вы должны использовать:

xbindkeys --defaults > $HOME/.xbindkeysrc

Который печатает значения по умолчанию в скрытый файл с именем, .xbindkeysrcрасположенный в home ( ~).

Теперь, чтобы реально изменить привязки клавиш, нам сначала нужно узнать, как называется или называется ключ этих клавиш. xbindkeysпозволяет нам использовать -kдескриптор, чтобы найти название клавиши или комбинации клавиш. Бегать:

xbindkeys -k

И нажмите клавишу или комбинацию клавиш. Ваш вывод будет выглядеть примерно так (при нажатии space):

"NoCommand"
m:0x10 + c:65
Mod2 + space

"No Command"говорит нам, что в настоящее время ни одна команда не связана с Spaceключом.

m:0x10 + c:65
Mod2 + space  

Имя клавиши / комбинации клавиш.

файл конфигурации ..

Позволяет открыть файл конфигурации, который вы сделали ранее:

gedit .xbindkeysrc  

Вот выдержка из файла конфигурации по умолчанию:

#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
#   Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
#   Mod3 (CapsLock), Mod4, Mod5 (Scroll). 
#

# The release modifier is not a standard X modifier, but you can  
# use it if you want to catch release events instead of press events

# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.

#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable

# Examples of commands:

"xbindkeys_show" 
 control+shift + q  

Каждая строка, начинающаяся с, #является комментарием и не будет прочитана или обработана xbindkeys.

Пока единственная строка, которая не закомментирована:

"xbindkeys_show" 
 control+shift + q  

Этот отрывок показывает основной синтаксис xbindkeysкоманд:

"Command to run (in quotes)"
key to associate with command (no quotes)  

Итак, как вы можете видеть:

"xbindkeys_show" 
 control+shift + q  

Запускает команду xbindkeys_showпри нажатии Ctrl+ Shift+ q.

привязать ключи к командам ..

Теперь попробуем связать несколько ключей. Я рекомендую очистить весь файл по умолчанию, чтобы он был пустым. Он содержит предустановленные привязки клавиш, которые вы, вероятно, не хотите.

Теперь предположим, что вы хотите использовать Ctrl+, bчтобы открыть браузер. Во-первых, вам нужно знать, как называетсяCtrl + или keyym of + b. Как упоминалось ранее, вы можете использовать, xbindkeys -kчтобы найти название ключа или ключей, но есть более простой способ. Для простых комбинаций, таких как Ctrl+, bвы можете просто использовать:

Control+b

Намного проще, не правда ли!

Теперь найдите команду для вашего любимого браузера:

  • Для Firefox: firefox

  • Для хрома: chromium-browser

  • Для Оперы: opera

Помните синтаксис из ранее? Команда xbindkeysдля запуска Firefox (или другого вашего любимого браузера) при нажатии Ctrl+ b:

"firefox"
Control+b

Теперь поместите это в ваш конфигурационный файл и сохраните. Теперь вы можете заметить, что ваша команда еще не работает, потому что xbindkeysона не работает. Для начала просто запустите xbindkeysиз терминала. Ваш Ctrl+ bтеперь должен запустить ваш браузер!

привязать ключи к другим ключам ..

Если вы хотите, чтобы клавиша на клавиатуре вызывала другую клавишу на клавиатуре, вам понадобится дополнительное программное обеспечение, которое xbindkeysсамо по себе не поддерживает это. Я знаю две программы, которые мы можем использовать, xdotoolи xte. Я предпочитаю, xteпоэтому я собираюсь использовать это.

Установите это:

sudo apt-get install xautomation

Синтаксис для xteтакой:

xte 'command key/mousebutton/xyCoordinates'

Примеры:

  • Для вызова одной клавиши нажмите: xte 'key keyName'

  • Чтобы вызвать комбинацию клавиш: xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName

  • Чтобы вызвать кнопку мыши: xte 'mouseclick buttonNumber' (мы обсудим поиск номеров кнопок чуть позже)

  • Чтобы переместить мышь: xte 'mousemove xCoordinate yCoordinate'

  • И более! Читатьman xte

Теперь, когда вы знаете команду для имитации нажатий клавиш, вы можете вызвать ее из своего xbindkeysскрипта, например так:

"xte 'key b'"
Control+b  

Как вы можете догадаться, это вызывает, xte 'key b'когда мы нажимаем Ctrl+ b, что вводит bв любой документ, над которым вы, возможно, работаете в настоящее время.

Я вещь , чтобы отметить , однако, что xbindkeysи xteне всегда очень хорошо работают вместе. Иногда приходится нажимать на клавиши точно в то же самое время , чтобы получить выход, в остальное время он работает просто отлично. Это может или не может иметь отношение к конфигурации системы и / или оборудования .. Я не уверен. Посмотрите ответ Maggotbrain для более надежного способа привязки ключей к другим ключам.

привязать кнопки мыши к командам ..

Вы также можете использовать xbindkeysдля привязки кнопок мыши к командам (и, следовательно, сочетания клавиш, см. Выше). Базовый формат кнопок мыши должен быть вам знаком:

" [command to run]  "
b:n

Где [command to run]находится команда, которую вы хотите выполнить, и nномер кнопки мыши, которую вы хотите использовать для этой команды.

Если вы не знаете номер своей кнопки мыши, вы можете xevузнать, что это такое:

xev | grep button

Результат будет примерно таким:

user@host:~$ xev | grep button
    state 0x10, button 1, same_screen YES
    state 0x110, button 1, same_screen YES
    state 0x10, button 2, same_screen YES
    state 0x210, button 2, same_screen YES
    state 0x10, button 3, same_screen YES
    state 0x410, button 3, same_screen YES

Когда я нажимаю каждую из моих кнопок мыши.

Например:

" firefox "
b:2

Запускает Firefox, когда я нажимаю среднюю кнопку мыши.


Возможно ли с помощью xbindkeys отобразить Meta + C / V для копирования / вставки и Meta + Space для переключения языка?
Sonique

Есть ли способ присоединить последовательность символов к одной клавише, например, присоединить «уравнение» к клавише увеличения громкости?
JPi

55

Xev и xmodmap

Изменение привязок клавиш с помощью xevи xmodmap.

Оба приложения командной строки доступны по умолчанию, поэтому нет необходимости устанавливать дополнительное программное обеспечение.

Xev «создает окно, а затем просит X-сервер отправлять ему события всякий раз, когда с окном происходит что-либо (например, его перемещение, изменение размера, ввод, нажатие и т. Д.)». xev man page

xmodmap - это «программа, используемая для редактирования и отображения карты модификаторов клавиатуры и таблицы клавиш, которые используются клиентскими приложениями для преобразования кодов событий в ключевые символы». Страница руководства xmodmap

В следующем примере Caps_Lockключ будет переназначен на поведение Escклавиши (многие пользователи vi / vim считают это полезным сопоставлением клавиатуры).

Использование xev

Запустите xevприложение из окна терминала ( Ctrl- Alt- t).

Приложение инициализируется, отображает количество строк и запускает пустое окно. Держите xevокно приложения в фокусе и нажмите клавишу, свойства / поведение которой вы хотите использовать.

  • Нажмите ESCклавишу

В окне терминала вы увидите несколько строк вывода. Запишите 3-ую строку. Он будет содержать имя свойства, которое вы хотите переместить на другой ключ.

KeyPress event, serial 32, synthetic NO, window 0x3e00001,
    root 0x256, subw 0x0, time 16245388, (616,73), root:(1487,535),
    state 0x10, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
    XLookupString gives 1 bytes: (1b) ""

В этом случае Escключ (код клавиши 9) использует имя «Escape» .

  • Нажмите Caps Lockклавишу

На этот раз мы ищем код ключа, который Caps Lockиспользуется.

Снова обратите внимание на 3-ю строку:

KeyRelease event, serial 32, synthetic NO, window 0x4c00001,
    root 0x256, subw 0x0, time 94702774, (862,151), root:(1733,613),
    state 0x10, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
    XKeysymToKeycode returns keycode: 9
    XLookupString gives 1 bytes: (1b) ""

Использование xmodmap

Теперь, когда мы получили информацию о ключах, которые мы хотим изменить xev, мы будем использовать их xmodmapдля изменения таблиц ключей . В командном терминале ( Ctrl+ Alt+ t) выполните следующие команды:

  • Эта команда модифицирует Caps Lockиспользование того же поведения, что иEsc

    xmodmap -e "keycode 66 = Escape"
    
  • Эта опция печатает таблицу раскладок в виде выражений в файл ~/.Xmodmap

    xmodmap -pke > ~/.Xmodmap
    

Активируйте изменения (только для этого сеанса входа в систему) с помощью следующей команды:

xmodmap ~/.Xmodmap

Делать изменения постоянными при перезагрузке:

  • Если он не существует, создайте файл в вашей домашней папке с именем .xinitrc.

    touch .xinitrc
    
  • Поместите следующую строку в файл и сохраните файл:

    xmodmap ~/.Xmodmap
    

Модификация ключей с различным поведением состояний

(такой как Num Lock)

  • Получите таблицу раскладок для клавиш-модификаторов (здесь вывод сокращен)

    $ xmodmap -pm
    shift       Shift_L (0x32),  Shift_R (0x3e)
    mod2        Num_Lock (0x4d)
    

Если вы хотите изменить, например, поведение точки вкл Del/ Periodклавиша на цифровой клавиатуре на запятую, используйте следующую команду:

xmodmap -e "keycode 91 mod2 = KP_Delete comma"

Обратите внимание, что это использует mod2раскладку клавиш для изменения поведения клавиш при Num Lockнажатии модификатора . Синтаксис для этого:

xmodmap -e "<KEYCODE> <MODIFIER> = <behaviour> <behaviour_with_modifier>"

Ресурс


2
+1! У меня есть корейская клавиатура без клавиши alt-gr, и мне она была нужна, чтобы ваш ответ был очень полезен, чтобы она заработала. Для дальнейшего использования, и так как клавиша alt-gr не проста в установке, вот команда (я использовал ключ hanja, который имеет код 130): xmodmap -e "keycode 130 = ISO_Level3_Shift Multi_key ISO_Level3_Shift Multi_key"
Shautieh

43

По умолчанию (это просто дополнение к отличному ответу Сета), Ubuntu (в этом примере я использую 16.04) имеет 2 категории, которые по умолчанию входят в Системные настройки:

Чтобы перейти к настройкам системы, в правом верхнем углу щелкните значок шестеренки :

введите описание изображения здесь

Затем выберите Системные настройки :

введите описание изображения здесь

Здесь вы найдете 2 варианта, которые могут отправить вас в раздел «Создание ярлыка».

введите описание изображения здесь

Если вы выберете « Ввод текста», вам нужно будет выбрать ссылку « Настройки клавиатуры» в правом нижнем углу, которая перенаправит вас прямо к опциям «Ярлыки».

введите описание изображения здесь

При выборе клавиатуры вариант, вы должны нажать на Shortcuts Tab

введите описание изображения здесь

После перехода на вкладки «Ярлыки» выберите « Ярлыки пользователя» внизу списка с левой стороны:

введите описание изображения здесь

А затем нажмите на знак «плюс» внизу, чтобы начать создавать свой собственный ярлык:

введите описание изображения здесь

С этого момента, вы просто добавляете имя ярлыка (не путайте имя ярлыка, поскольку имя действующей команды вы будете выполнять). А ниже, в поле «Команды», вы указываете, какая команда будет выполняться для этого ярлыка. В следующем примере я назвал ярлык «Sublime Text 3», чтобы узнать, к чему относится этот ярлык. И в поле команды я добавил фактическую команду, которая есть subl.

введите описание изображения здесь

В результате вы увидите следующее на экране, которое показывает, что, поскольку ярлыку еще не назначена клавиша или комбинация клавиш, по умолчанию он отключен:

введите описание изображения здесь

Затем мы должны нажать на сообщение «Отключено», чтобы добавить к нему комбинацию клавиш:

введите описание изображения здесь

В этой части я назначаю комбинацию клавиш SHIFT+ CTRL+, Sчтобы при нажатии этой комбинации открывалось приложение Sublime Text.

введите описание изображения здесь

После этого вы можете просто проверить свою комбинацию, нажав соответствующую комбинацию клавиш и увидев, что приложение открыто:

введите описание изображения здесь

ПРИМЕЧАНИЕ. Для специальных комбинаций, таких как комбинация для уничтожения X-сервера, я предлагаю посетить следующую ссылку: Как включить Ctrl-Alt-Backspace для уничтожения X-сервера?


Я нахожусь на 13.10, и у меня вообще нет этого значка «Ввод текста» в настройках системы. :(
wim

Привет wim. Можете ли вы предоставить ссылку на изображение, которое показывает настройки вашей системы.
Луис Альварадо

2
К сожалению, теперь мы в 15.04, этот ответ - искаженный беспорядок. Раскладка клавиатуры исчезла, и вместе с ней появилась возможность убить X Server. Скриншоты смешиваются до 13.04 (кого это волнует!?!) И более поздние скриншоты, и кто-то вставил их не в то место, так что «нажмите Опции внизу справа)» далеко от фактического, устаревшего, скриншота. :-(
skierpage

@skierpage Вот почему я сделал этот ответ: askubuntu.com/questions/367983/… надеюсь, это поможет.
Луис Альварадо

If you click on the Options button at the bottom right (Found on 13.04 or previous versions)...Где кнопка настроек на версиях> 13.04?
динозавр

21

Перейдите в « Настройки системы» → « Keboard» , выберите вкладку « Ярлыки » и добавьте новый пользовательский ярлык для своего браузера. Если ваш браузер по умолчанию - Firefox, используйте firefoxдля в поле команды; если ваш браузер по умолчанию - Firefox, используйте chromium-browserи так далее:

добавить пользовательский ярлык


Благодарю. Смотрите также мой собственный ответ о некоторых особенностях настройки клавиш. Сначала я был озадачен, хотя я был в нужном месте.
Майкл Даррант

2
Но это не работает в моем случае. Ubuntu (по какой-то причине) вообще не позволяет мне устанавливать клавиши быстрого доступа! Я следовал до шага 4 (как показано на рисунке). Я что-то упускаю?
Вайбхав Каушал

2
Я предпочитаю этот ответ тем, которые доступны на дубликате вопроса.
г-н Б.

3
@VaibhavKaushal: в шаге 5 вы должны нажать справа на «деактивировано», а затем сделать ярлык, который вам нравится, который будет показан там сразу
rubo77

Чтобы изменения вступили в силу, может потребоваться перезагрузка
Shirley Temple

18

Вы можете создавать сложные (многоключевые) сочетания клавиш, установив AutoKey из центра программного обеспечения. В отличие от xmodmap, AutoKey не привязывает реальные клавиши на вашей клавиатуре; он работает в фоновом режиме и перехватывает определенные вами сочетания клавиш, а затем отправляет имитированные нажатия клавиш в ваши приложения.

При первом запуске AutoKey служба запускается в фоновом режиме (значок уведомления не обновлялся для единства, поэтому визуальной индикации нет). Как только он запустится, вы можете вызвать интерфейс конфигурации, снова запустив панель запуска:

введите описание изображения здесь

Теперь откройте «Правка»> «Настройки» и выберите «Автоматически запускать AutoKey при входе в систему», чтобы убедиться, что ваши ярлыки работают при каждом входе в систему.

Сопоставление сочетания клавиш с другим сочетанием клавиш

  1. Выберите «Файл»> «Создать»> «Фраза».
  2. Убедитесь, что «Вставить с помощью» установлен на «Клавиатура».
  3. Введите ключи , которые вы хотите отобразить в в текстовом поле.

    • Специальные (не символьные) ключи представлены с кодами, документированными здесь .
    • Если вы введете несколько ключей, они будут отправлены в последовательности, если вы не поместите +между ними (например <ctrl>+c, скопируете в большинстве приложений; <ctrl>+c<ctrl>+n<ctrl>+vсоздадите новый документ, содержащий выделение; <shift>+ubuntuвведите текст «Ubuntu»)
  4. Нажмите кнопку «Установить» рядом с «Горячей клавишей». Это вызовет диалоговое окно , которое позволяет определить комбинацию клавиш вы хотите отобразить из :

    введите описание изображения здесь

  5. Выберите Файл> Сохранить

Пример завершенной конфигурации (которая отправляется <enter>при нажатии <ctrl>+m) выглядит следующим образом:

введите описание изображения здесь


Примечание. В настоящее время Debian (где Ubuntu получает пакет AutoKey) не поддерживает свой пакет AutoKey. Текущие инструкции по установке см. По
Джо,

15

Попробуй это:

Установите программу под названием XKeyCaps. Чтобы установить, просто нажмите Ctrl+ Alt+ Tна клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду (ы) ниже:

sudo apt-get install xkeycaps

После установки вы можете выполнить xkeycaps в командной строке для запуска программы. Как только он запустится, выберите правильную раскладку клавиатуры и нажмите ОК

введите описание изображения здесь

Затем, когда вы получите клавиатуру на экране, щелкните правой кнопкой мыши нужную клавишу, в вашем случае ее S, и выберите обмен ключами.

введите описание изображения здесь

Обязательно добавьте строку ниже в ваши сессии, чтобы она автоматически запускалась при каждой загрузке.

xmodmap ~/.xmodmap-`uname-n`

Источник: UFM ytsejam1138


Является ли uname-nдолжно быть uname -n?
wjandrea

По словам источника его unmae-n. У меня нет доступа к машине с Ubuntu для тестирования, но как только я это сделаю, я проверю дальше.
Митч

8

Если вы просто хотите переназначить ключи, другие ответы будут отличными.

Однако есть и другой способ приблизиться к этому. AutoKey - это макропроцессор клавиатуры, который позволяет связать любую комбинацию клавиш / модификаторов со сценарием, который может выполнять практически все, что вы можете делать с клавиатуры, и многое другое.

AutoKey имеет регистратор сценариев и простой способ ввода основных последовательностей клавиш, но его сценарии написаны на Python и могут выполнять практически все, что вы можете кодировать.

Простейший способ использовать его - отправлять нажатия клавиш на ваши приложения / рабочий стол. При таком способе система / приложения не могут сказать, что это не вы печатаете, поэтому не требуется API или другой интерфейс, они просто делают то, что печатали «вы».

AutoKey также может обрабатывать фразы. Когда вы набираете строку запускающего символа, она может заменить новый текст этой строкой (сразу или после ввода символа разделителя, такого как символ новой строки или табуляция).

У него также есть фильтры окон, так что вы можете ограничить выполнение определенной фразы или скрипта только окнами определенного типа (например, в заголовке Mozilla, поэтому они работают только в таких вещах, как Firefox или Thunderbird).

AutoKey в настоящее время имеет версии Gtk и Qt.

Редактирование:

Инструкция по установке

Пользовательский форум Активный пользовательский форум.

В вики есть несколько примеров сценариев. Поскольку это, прежде всего, приложение с графическим интерфейсом и множеством опций, для примеров потребуется множество скриншотов и целая статья.

У меня есть определенная фраза, так что, когда я набираю « Jmail! », Она мгновенно заменяет ее довольно длинным адресом электронной почты.

Я написал скрипт , который срабатывает при типизации Ctrl- Pкоторая активна только в окнах , которые имеют «Mozilla» в их названии. Ввод текста Ctrl- Pвызывает диалоговое окно печати (Firefox или Thunderbird), выбирает «Печать в файл», а затем заполняет имя следующего доступного файла печати в моей очереди печати (я нумерую их как 01, 02, ..., и сценарий считывает очередь каталог, находит последний номер файла и увеличивает его на 1). Я использую его с моим программным обеспечением для эмуляции двусторонней печати ( duplexpr ), чтобы исключить массу нажатий клавиш и движений мыши.

Я видел некоторые другие сценарии от геймеров, которые позволяют им очень быстро получать доступ к информации о своем персонаже и ресурсах, чтобы они могли сосредоточиться на действии.


1
Не могли бы вы добавить информацию об установке и, возможно, об ее использовании? Это было бы круто!
Сет,

AutoKey был частично перенесен с code.google на GitHub. Смотрите github.com/autokey/autokey . Существует также ветка Python 3 - github.com/guoci/autokey-py3 .
Джо

Текущая версия AutoKey находится по адресу github.com/autokey/autokey . Ветвь Python 2 устарела.
Джо

7

ИСПОЛЬЗОВАНИЕ КЛАВИАТУРЫ В КАЧЕСТВЕ МЫШИ

Вы можете сопоставить клавишу клавиатуры с кнопкой мыши. Если вы хотите нажать с помощью клавиши клавиатуры (полезно, если у вас MacBook или плохая кнопка трекпада), вы можете сделать следующее.

  1. установите несколько утилит:

    sudo apt-get install x11-utils xkbset x11-xserver-utils
    
  2. найдите код для ключа, который вы хотите отобразить:

    • введите xev | grep keycodeв терминале
    • нажмите клавишу интереса, и появится строка, подобная этой:

      state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,  
      
  3. используя код клавиши, переназначьте клавишу так же, как и левой кнопкой мыши:

    • xkbset m
    • xmodmap -e "keycode 64 = Pointer_Button1"

Pointer_Button3является правой кнопкой мыши и Pointer_Button2находится посередине.


4

Использование xkb

xkbявляется расширением X Keyboard. Он отвечает за сопоставление клавиш вашей клавиатуры их назначенным функциям. xkbсимволы могут быть найдены в /usr/share/X11/xkb/symbols/. Клавиши-модификаторы отображаются в /usr/share/X11/xkb/symbols/pc.

Скажем, мне нужно переключать функции Caps Lockи Left Controlклавиши. Эти изменения необходимы для pcфайла:

key <CAPS> {        [ Control_L             ]       };
key <LCTL> {        [ Caps_Lock             ]       };

Чтобы применить новые сопоставления, вам необходимо очистить xkbкеш от /var/lib/xkb:

rm -rf /var/lib/xkb/*

Теперь просто перезапустите сеанс X, и все готово.

Источник: https://radu.cotescu.com/remapping-keys-in-ubuntu-14.04/

Изменить: Выполнение lsвнутри symbolsкаталога дает это:

af        cm            gn       kz              nec_vndr    sk
al        cn            gr       la              ng          sn
altwin    compose       group    latam           nl          sony_vndr
am        ctrl          hp_vndr  latin           no          srvr_ctrl
apl       cz            hr       level3          nokia_vndr  sun_vndr
ara       de            hu       level5          np          sy
at        digital_vndr  ie       lk              olpc        terminate
az        dk            il       lt              pc          th
ba        ee            in       lv              ph          tj
bd        empty         inet     ma              pk          tm
be        epo           iq       macintosh_vndr  pl          tr
bg        es            ir       mao             pt          tw
br        et            is       md              ro          typo
brai      eurosign      it       me              rs          tz
bt        fi            jp       mk              ru          ua
bw        fo            ke       ml              rupeesign   us
by        fr            keypad   mm              se          uz
ca        fujitsu_vndr  kg       mn              sgi_vndr    vn
capslock  gb            kh       mt              sharp_vndr  xfree68_vndr
cd        ge            kpdl     mv              shift       za
ch        gh            kr       nbsp            si

Отображения внутри файла ruоснованы на российской стандартной клавиатуре. macintosh_vndrПапка содержит отображение для Apple , клавиатур. Короче говоря, этот подход очень универсален. Иди и играй с этим :)


Вы упомянули 2 файла. В какой файл внесены изменения? :)
Сет

Я упомянул только один файл - /usr/share/X11/xkb/symbols/pc.
Крисон

Виноват. Мне понадобился второй взгляд, чтобы понять, что первый путь - это папка, а не файл. Отредактировано, чтобы сделать его немного более очевидным :)
Сет

3

Оказалось, что он находится под приложением «клавиатура».

Если вы поднимете это, вы можете изменить ярлыки по мере необходимости ...

Изменение немного странно при первом использовании. Вы щелкаете справа (столбец с ctrl-alt-T, Disabled и т. Д., Затем нажимаете фактические ключи, например, те, ctrlaltbкоторые вы хотите. Вы увидите новую последовательность клавиш, появившуюся теперь в этом пространстве. Закройте окно ( или щелкните прочь), и новый ярлык теперь будет работать.


1

Ярлык уже существует как WWW, просто измените его на Ctrl+ Alt+ b. Не нужно создавать новый.

введите описание изображения здесь


1

CompizConfig Settings Manager (CCSM)

CCSM позволяет изменять некоторые сочетания клавиш системы.

Чтобы установить его, используйте Центр программного обеспечения или эту команду:

sudo apt-get install compizconfig-settings-manager

Например

Я использовал его, чтобы изменить ярлык «Распространение окна» со стандартного Super+ Wна Super+ Tab, как в Windows 10. Из моего ответа в другой теме :

  1. Запустите CCSM из Dash.
  2. Перейдите в Управление окнами -> Масштаб -> вкладка Привязки -> Инициировать окно выбора
  3. Нажмите сочетание клавиш ( <Super>wна вашем компьютере, но <Super>Tabна этом скриншоте).

    CCSM - Управление окнами - Шкала

  4. Нажмите Grab комбинация клавиш , нажмите нужные клавиши, затем нажмите OK.

    Редактировать окно выбора окна


1

Я хотел нажать Print Screen, чтобы сохранить снимок экрана с помощью gnome-screenshotприложения, как в Mint

Но я хотел сделать это с помощью терминала, а не с графическим интерфейсом, так как я хочу сделать его по умолчанию при создании собственного ISO с использованием squashfsинструментов.

Сначала я установил gnome-screenshot с помощью команды

sudo apt-get install gnome-screenshot

Затем я назначил пользовательский ярлык с помощью Настройки -> Клавиатура -> Пользовательские ярлыки -> Кнопка Добавить (+) ->

В диалоге:

  • Название: Снимок экрана
  • Команда: гном-скриншот

Нажмите кнопку Добавить

Затем нажмите Print screenклавишу.

Ключ теперь привязан, и я могу сохранять снимки экрана по мере необходимости.
Но не используя терминал, это способ GUI

Затем я установил dconf-editorс помощью

sudo apt-get install dconf-editor

И искать gnome-screenshot
я нахожу мои пользовательские привязки клавиш по этому пути

/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/

Значения ключей:

  • переплет "Печать"
  • команда "гном-скриншот"
  • название «печать экрана»

Теперь я копирую их и удаляю пользовательскую комбинацию клавиш GUI

Я открываю терминал и набираю эти команды

dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/command "'gnome-screenshot'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/binding  "'Print'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/name "'print screen'"

И вуаля

Теперь я могу сохранять снимки экрана без графического интерфейса, используя только dconfтерминал. Мне больше не нужно dconf-editor, он был просто установлен, чтобы получить значения.


1

Я попробовал решение Кевина (подход xmodmap) на Ubuntu 18.04. Это не сработало в моем случае. Все же эта процедура заставила это работать наконец:

  • скопируйте xmodmap .Xmodmapв файл с именем, .xsessionа не .xinitrc.
  • изменить права доступа к файлу (щелчок правой кнопкой мыши, свойства, вкладка разрешений, изменение разрешений на «чтение и запись» и отметка флажка в окне)
  • добавьте загрузочное приложение с помощью /home/<YOUR_USER_NAME>/.xsessionкоманды as.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.