РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ alt+shift Π² Linux, Π² прилоТСниях Π½Π° Electron

ЗдравствуйтС, ΠΊΠΎΠ»Π»Π΅Π³ΠΈ!

Π₯ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, которая ΡƒΠΊΠ°Π·Π°Π½Π° Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅. НаписаниСм ΡΡ‚Π°Ρ‚ΡŒΠΈ вдохновился ΠΎΡ‚ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ brnovk, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ полСнился ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» частичноС (для мСня) Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π― сдСлал свой Β«ΠΊΠΎΡΡ‚Ρ‹Π»ΡŒΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³ ΠΌΠ½Π΅. Π”Π΅Π»ΡŽΡΡŒ с Π²Π°ΠΌΠΈ.

ОписаниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

Использовал Ubuntu 18.04 для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π² послСднСС врСмя Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ раскладки ΠΏΠΎ alt+shift Π² Ρ‚Π°ΠΊΠΈΡ… прилоТСниях, ΠΊΠ°ΠΊ Visual Studio Code, Skype, Slack ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ созданы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Electron Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: фокус с поля Π²Π²ΠΎΠ΄Π°, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΎΠΊΠ½Π° (мСню). По ΠΈΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ ΠΏΠ΅Ρ€Π΅Π΅Ρ…Π°Π» Π² Fedora + KDE ΠΈ понял, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ дСлась. Π’ поисках Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π°ΡˆΡ‘Π» Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ Π§ΠΈΠ½ΠΈΠΌ Skype своими Ρ€ΡƒΠΊΠ°ΠΌΠΈ. ΠžΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ спасибо Ρ‚ΠΎΠ²Π°Ρ€ΠΈΡ‰Ρƒ brnovk, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассказал ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΈ подСлился своим способом Π΅Ρ‘ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Но ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ способ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π» вопрос лишь с ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Skype. Для мСня Π΅Ρ‰Ρ‘ Π±Ρ‹Π»ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Visual Studio Code, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ сообщСния с ΠΏΡ€Ρ‹Π³Π°ΡŽΡ‰Π΅ΠΉ мСнюшкой Ρ…ΠΎΡ‚ΡŒ ΠΈ Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠ°Π΅Ρ‚, Π½ΠΎ Π½Π΅ Ρ‚Π°ΠΊ сильно Ссли занимаСшься Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ. Плюс ΠΊΠΎ всСму, ΠΊΠΎΠ»Π»Π΅Π³Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ мСню прилоТСния ΠΏΡ€ΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, Π° ΠΌΠ½Π΅ Π±Ρ‹ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ мСню Π² VS Code.

ΠŸΡ‹Ρ‚Π°Π»ΡΡ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π² Ρ‡Ρ‘ΠΌ Π΄Π΅Π»ΠΎ

Π˜Ρ‚Π°ΠΊ, я Ρ€Π΅ΡˆΠΈΠ» Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ врСмя ΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Ρ‡Ρ‘ΠΌ Π΄Π΅Π»ΠΎ. БСйчас ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΎΠΏΠΈΡˆΡƒ ΠΊΠ°ΠΊΠΈΠΌ ΠΏΡƒΡ‚Ρ‘ΠΌ я ΡˆΡ‘Π», ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² Π΄Π°Π½Π½ΠΎΠΌ вопросС ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Ρ‚Π΅ трудности, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ я столкнулся.

Π― ΠΎΡ‚ΠΊΡ€Ρ‹Π» Visual Studio Code ΠΈ Π½Π°Ρ‡Π°Π» Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ сочСтания Alt+<%Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ%>, смотря Π½Π° Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ прилоТСния. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²ΠΎ всСх случаях всС ΠΊΠΎΠΌΠ±ΠΈΠ°Π½Ρ†ΠΈΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Alt+Shift ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ фокуса. Π‘ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π»ΠΎΡΡŒ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΡΡŠΠ΅Π΄Π°Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚Ρ‹ΠΉ Shift, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слСдовал послС заТатия ΠΈ удСрТания Alt ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΡƒΠΌΠ°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ я Π½Π°ΠΆΠ°Π» Alt, ΠΏΠΎΡ‚ΠΎΠΌ Π½Π΅ Π½Π°ΠΆΠ°Π» Π½ΠΈΡ‡Π΅Π³ΠΎ, отпустил Alt ΠΈ ΠΎΠ½ΠΎ радостно бросало ΠΌΠΎΠΉ фокус Π² своё мСню, Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ казалось Π²ΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ.

Π― ΠΎΡ‚ΠΊΡ€Ρ‹Π» настройки ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ раскладки ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ (Π½Ρƒ Π·Π½Π°Π΅Ρ‚Π΅ Π²ΠΎΡ‚ этот Π²ΠΎΡ‚ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ список с чСкбоксами ΠΈ всСвозмоТными настройками для клавиш) ΠΈ установил ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ раскладки ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Alt, Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ.

РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ alt+shift Π² Linux, Π² прилоТСниях Π½Π° Electron

ПослС этого пСрСстал Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Alt+Tab для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΠΊΠΎΠ½. Π Π°Π±ΠΎΡ‚Π°Π» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Tab, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ снова «съСдал» ΠΌΠΎΠΉ Alt. ΠšΡ‚ΠΎ этот Β«ΠΊΡ‚ΠΎ-Ρ‚ΠΎΒ» вопросов ΡƒΠΆΠ΅ Π½Π΅ ΠΎΡΡ‚Π°Π²Π°Π»ΠΎΡΡŒ, Π° Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ я понятия Π½Π΅ имСю.

Но Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π±Ρ‹Π»ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ…ΠΎΡ‚ΡŒ ΠΊΠ°ΠΊ-Ρ‚ΠΎ, Ρ‚ΠΎΠ³Π΄Π° Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ ΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅:

  1. Π’ настройках ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ…ΠΎΡ‚ΠΊΠ΅ΠΉ для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ раскладки ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ (ΡΠ½ΡΡ‚ΡŒ всС чСкбоксы Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Switch to another layout);
  2. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ свой Ρ…ΠΎΡ‚ΠΊΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π» ΠΌΠ½Π΅ раскладку

ОписаниС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

Для Π½Π°Ρ‡Π°Π»Π° установим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ клавишам Xbindkeys. К соТалСнию, ΡˆΡ‚Π°Ρ‚Π½Ρ‹Π΅ срСдства Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ ΠΌΠ½Π΅ Ρ‡Π΅Ρ€Π΅Π· красивый интСрфСйс ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ…ΠΎΡ‚ΠΊΠ΅ΠΉ для сочСтания Ρ‚ΠΈΠΏΠ° Alt+Shift. МоТно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ для Alt+S, Alt+1, Alt+shift+Y ΠΈ Ρ‚.Π΄. ΠΈ Ρ‚.ΠΏ., Π½ΠΎ для нашСй Π·Π°Π΄Π°Ρ‡ΠΈ это Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

sudo dnf install xbindkeysrc

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎ Π½Π΅Ρ‘ Π΅ΡΡ‚ΡŒ Π½Π° ArchWiki
Π”Π°Π»Π΅Π΅ создадим ΠΎΠ±Ρ€Π°Π·Π΅Ρ† Ρ„Π°ΠΉΠ»Π° настроСк для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠžΠ±Ρ€Π°Π·Π΅Ρ† довольно ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ, с нСсколькими ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ с Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ:

xbindkeys -d > ~/.xbindkeysrc

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² Ρ„Π°ΠΉΠ»Π΅, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ…ΠΎΡ‚ΠΊΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρƒ, которая Π΄ΠΎΠ»ΠΆΠ½Π° исполнится. Выглядит просто.


# Examples of commands:
"xbindkeys_show"
  control+shift + q
# set directly keycode (here control + f with my keyboard)
"xterm"
  c:41 + m:0x4

Π’ качСствС хоткСя ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ чСловСкопонятноС написаниС ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄Ρ‹ клавиш. Π£ мСня сработало Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΊΠΎΠ΄Π°ΠΌΠΈ, Π½ΠΎ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ Π’Π°ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄Ρ‹ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

xbindkeys -k

ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ малСнькоС «ИксовоС» ΠΎΠΊΠ½ΠΎ. ΠΠ°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΡˆΡ‹ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ фокусС Π½Π° это ΠΎΠΊΠ½ΠΎ! Волько Π² этом случаС Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅:


[podkmax@localhost ~]$ xbindkeys -k
Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"(Scheme function)"
    m:0x4 + c:39
    Control + s

Π’ ΠΌΠΎΡ‘ΠΌ случаС комбинация для клавиш Alt+Shift выглядит Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

m:0x8 + c:50

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° эту ΠΊΠΎΠΌΠ±Π°Π½ΠΈΡ†ΠΈΡŽ, происходило ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ раскладки. Π― Π½Π°ΡˆΡ‘Π» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρƒ для указания раскладки:


setxkbmap ru
setxkbmap us

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΎΠ½Π° ΡƒΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΈΠ½ΡƒΡŽ раскладку, поэтому Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ написания скрипта ΠΌΠ½Π΅ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ Π½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎ.


vim ~/layout.sh
#!/bin/bash
LAYOUT=$(setxkbmap -print | awk -F + '/xkb_symbols/ {print $2}')
if [ "$LAYOUT" == "ru" ]
        then `/usr/bin/setxkbmap us`
        else `/usr/bin/setxkbmap ru`
fi

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ссли Ρ„Π°ΠΉΠ»Ρ‹ .xbindkeysrc ΠΈ layout.sh Π»Π΅ΠΆΠ°Ρ‚ Π² ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Ρ‚ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Π²ΠΈΠ΄ Ρ„Π°ΠΉΠ»Π° .xbindkeysrc выглядит Ρ‚Π°ΠΊ:


# Examples of commands:

"xbindkeys_show"
  control+shift + q

# set directly keycode (here control + f with my keyboard)
"xterm"
  c:41 + m:0x4

# specify a mouse button
"xterm"
  control + b:2
#А Π²ΠΎΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ» я
"./layout.sh"
  m:0x8 + c:50

ПослС этого примСняСм измСнСния:


xbindkeys -p

И ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ раскладки Π² ΡˆΡ‚Π°Ρ‚Π½Ρ‹Ρ… настройках.

Π˜Ρ‚ΠΎΠ³

КоллСги, надСюсь Ρ‡Ρ‚ΠΎ данная ΡΡ‚Π°Ρ‚ΡŒΡ смоТСт ΠΏΠΎΠΌΠΎΡ‡ΡŒ быстро ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π°Π·ΠΎΠΉΠ»ΠΈΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π›ΠΈΡ‡Π½ΠΎ я ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ» вСсь свой Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΈ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ…ΠΎΡ‚ΡŒ ΠΊΠ°ΠΊ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ большС Π½Π΅ ΠΎΡ‚Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒΡΡ Π½Π° это Π² Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ врСмя. Написал Π΄Π°Π½Π½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ с Ρ†Π΅Π»ΡŒΡŽ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ врСмя ΠΈ Π½Π΅Ρ€Π²Ρ‹. МногиС ΠΈΠ· Вас ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ способ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ раскладки ΠΈ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π² Ρ‡Π΅ΠΌ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. МнС Π»ΠΈΡ‡Π½ΠΎ нравится ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΏΠΎ Alt+Shift. И я Ρ…ΠΎΡ‡Ρƒ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ. Если Π’Ρ‹ раздСляСтС ΠΌΠΎΡ‘ ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, эта ΡΡ‚Π°Ρ‚ΡŒΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π’Π°ΠΌ ΠΏΠΎΠΌΠΎΡ‡ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ