ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅, ΠΊΠΎΠ»Π΅Π³ΠΈ!
ΠΡΠΊΠ°ΠΌ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ Π² Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ. ΠΠ°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΡΡΠ° Π±Π΅ΡΠ΅ Π²Π΄ΡΡ
Π½ΠΎΠ²Π΅Π½ΠΎ ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΊΠΎΠ»Π΅Π³Π° , ΠΊΠΎΠΉΡΠΎ Π½Π΅ ΡΠ΅ ΠΎΡΠΊΠ°Π·Π° ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΎ (Π·Π° ΠΌΠ΅Π½) ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠ°ΠΏΡΠ°Π²ΠΈΡ
ΡΠ²ΠΎΡ "ΠΊΠΎΡΡΠΈΠ»", ΠΊΠΎΠΉΡΠΎ ΠΌΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°. Π‘ΠΏΠΎΠ΄Π΅Π»ΡΠΌ Ρ Π²Π°Ρ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Ubuntu 18.04 Π·Π° ΡΠ°Π±ΠΎΡΠ° ΠΈ Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΡΠΊ Π·Π°Π±Π΅Π»ΡΠ·Π°Ρ , ΡΠ΅ ΠΏΡΠΈ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΡΠ° Ρ alt+shift Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠΎ Visual Studio Code, Skype, Slack ΠΈ Π΄ΡΡΠ³ΠΈ, ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Electron, Π²ΡΠ·Π½ΠΈΠΊΠ²Π° ΡΠ»Π΅Π΄Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ: ΡΠΎΠΊΡΡΡΡ ΠΎΡ ΠΏΠΎΠ»Π΅ΡΠΎ Π·Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° ΠΊΡΠΌ Π³ΠΎΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° Π½Π° ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ° (ΠΌΠ΅Π½Ρ). ΠΠΎ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΈΡΠΈΠ½ΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Ρ Π½Π° Fedora + KDE ΠΈ ΡΠ°Π·Π±ΡΠ°Ρ , ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π½Π΅ Π΅ ΠΈΠ·ΡΠ΅Π·Π½Π°Π». Π ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΌΠ΅ΡΠΈΡ ΡΡΡΠ°Ρ ΠΎΡΠ½Π° ΡΡΠ°ΡΠΈΡ, . ΠΠ³ΡΠΎΠΌΠ½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π° Π΄ΡΡΠ³Π°ΡΡ , ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·ΠΊΠ°Π·Π° Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΠΈ ΡΠ²ΠΎΡ Π½Π°ΡΠΈΠ½ Π·Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠΎ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡΡ Π² ΡΡΠ°ΡΠΈΡΡΠ° ΠΌΠ΅ΡΠΎΠ΄ ΡΠ΅ΡΠ°Π²Π° Π²ΡΠΏΡΠΎΡΠ° ΡΠ°ΠΌΠΎ Ρ Π΅Π΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Skype. ΠΠ° ΠΌΠ΅Π½ Π±Π΅ΡΠ΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²Ρ ΠΈ Ρ Visual Studio Code, Π·Π°ΡΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠ΄ΡΠΊΠ°ΡΠ°ΡΠΎ ΠΌΠ΅Π½Ρ, ΠΌΠ°ΠΊΠ°Ρ ΠΈ Π΄ΡΠ°Π·Π½Π΅ΡΠΎ, Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΊΠΎΠ»Π΅Π³Π°ΡΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΈ ΠΊΠΎΠ΅ΡΠΎ ΠΌΠ΅Π½ΡΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈΠ·ΡΠ΅Π·Π²Π° ΠΈΠ·ΡΡΠ»ΠΎ, Π° Π½Π° ΠΌΠ΅Π½ Π½Π΅ ΠΌΠΈ ΡΠ΅ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π·Π°Π³ΡΠ±Ρ ΠΌΠ΅Π½ΡΡΠΎ Π² VS Code.
ΠΠΏΠΈΡΠ°Ρ ΡΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ° Π² ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ
Π ΡΠ°ΠΊΠ°, ΡΠ΅ΡΠΈΡ Π΄Π° ΠΎΡΠ΄Π΅Π»Ρ Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π΄Π° ΡΠ΅ Π·Π°Π΅ΠΌΠ° Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. Π‘Π΅Π³Π° Π½Π°ΠΊΡΠ°ΡΠΊΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ° ΠΏΠΎ ΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°Ρ Π΄Π° Π³ΠΎ ΡΠ΅ΡΠ°, ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½ΡΠΊΠΎΠΉ, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠ°Π½, ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° ΡΠ°Π·ΡΡΠ½ΠΈ ΡΡΡΠ΄Π½ΠΎΡΡΠΈΡΠ΅, Ρ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°Ρ .
ΠΡΠ²ΠΎΡΠΈΡ Visual Studio Code ΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π΄Π° Π½Π°ΡΠΈΡΠΊΠ°ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ Alt+, Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΉΠΊΠΈ ΡΠ΅Π°ΠΊΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. ΠΠΎΡΡΠΈ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΡΠ»ΡΡΠ°ΠΈ, Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΎΡΠ²Π΅Π½ Alt+Shift ΡΠ°Π±ΠΎΡΠ΅Ρ Π° Π±Π΅Π· Π·Π°Π³ΡΠ±Π° Π½Π° ΡΠΎΠΊΡΡ. ΠΡΠ·Π½ΠΈΠΊΠ½Π° Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅, ΡΠ΅ Π½ΡΠΊΠΎΠΉ βΡΠ΄Π΅β Π½Π°ΡΠΈΡΠ½Π°ΡΠΈΡ Shift, ΠΊΠΎΠΉΡΠΎ ΡΠ»Π΅Π΄Π²Π°ΡΠ΅ ΡΠ»Π΅Π΄ Π·Π°Π΄ΡΡΠΆΠ°Π½Π΅ΡΠΎ Π½Π° Alt, ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΈΡΠ»Π΅ΡΠ΅, ΡΠ΅ Π½Π°ΡΠΈΡΠΊΠ°ΠΌ Alt, ΠΏΠΎΡΠ»Π΅ Π½Π΅ Π½Π°ΡΠΈΡΠΊΠ°ΠΌ Π½ΠΈΡΠΎ, ΠΏΡΡΠΊΠ°ΠΌ Alt ΠΈ ΡΠΎ ΡΠ°Π΄ΠΎΡΡΠ½ΠΎ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°ΡΠ΅ ΡΠΎΠΊΡΡΠ° ΠΌΠΈ ΠΊΡΠΌ ΡΠ²ΠΎΠ΅ΡΠΎ ΠΌΠ΅Π½Ρ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΡ ΡΠ΅ ΡΡΡΡΠ²Π°ΡΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ.
ΠΡΠ²ΠΎΡΠΈΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π·Π° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΡΠ° (Π·Π½Π°Π΅ΡΠ΅, ΠΎΠ½ΠΎΠ²Π° Π΄ΡΠ»Π³ΠΎ ΡΠΏΠΈΡΡΠΊΡΠ΅ Ρ ΡΠ΅ΠΊΠ±ΠΎΠΊΡΠΎΠ²Π΅ ΠΈ Π²ΡΠ΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΠΊΠ»Π°Π²ΠΈΡΠΈΡΠ΅) ΠΈ Π½Π°ΡΡΡΠΎΠΈΡ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΏΠΎ Π±ΡΡΠΎΠ½Π° Alt, Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π½Π°ΡΠΈΡΠΊΠ°Π½ΠΈΡ.

Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Alt+Tab Π·Π° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ ΡΠΏΡΡ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ. Π Π°Π±ΠΎΡΠ΅ΡΠ΅ ΡΠ°ΠΌΠΎ Tab, Ρ.Π΅. Π½ΡΠΊΠΎΠΉ ΠΎΡΠ½ΠΎΠ²ΠΎ "ΠΈΠ·ΡΠΆΠ΄Π°ΡΠ΅" ΠΌΠΎΡΡ Alt. ΠΠΎΠΉ Π΅ ΡΠΎΠ·ΠΈ "Π½ΡΠΊΠΎΠΉ"? ΠΠ° ΡΠΎΠ²Π° Π½Π΅ ΠΎΡΡΠ°Π½Π°Ρ
Π° Π²ΡΠΏΡΠΎΡΠΈ, Π½ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ Ρ Π½Π΅Π³ΠΎ Π½ΡΠΌΠ°ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π°.
ΠΠΎ ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ΅ΡΠ΅Π½ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½, Π² Π³Π»Π°Π²Π°ΡΠ° ΠΌΠΈ Π΄ΠΎΠΉΠ΄Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅:
- Π Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΌ Ρ ΠΎΡΠΊΠ΅Ρ Π·Π° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΡΠ° (Π΄Π° ΠΌΠ°Ρ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΎΡΠΌΠ΅ΡΠΊΠΈ Π² ΡΠ°Π·Π΄Π΅Π»Π° Switch to another layout);
- ΠΠ° ΡΡΠ·Π΄Π°ΠΌ ΡΠ²ΠΎΠΉ Ρ ΠΎΡΠΊΠ΅ΠΉ, ΠΊΠΎΠΉΡΠΎ Π΄Π° ΡΠΌΠ΅Π½Ρ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΈ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ
ΠΡΡΠ²ΠΎ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π°Π·Π½Π°ΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΡΠΈ Xbindkeys. ΠΠ° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅, Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π½Π΅ ΠΌΠΈ Π΄Π°Π΄ΠΎΡ Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΡΠ·Π΄Π°ΠΌ Ρ ΠΎΡΠΊΠ΅ΠΉ Π·Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠ°ΡΠΎ Alt+Shift. ΠΠΎΠ³Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ Π·Π° Alt+S, Alt+1, Alt+shift+Y ΠΈ Ρ.Π½., Π½ΠΎ ΡΠΎΠ²Π° Π½Π΅ Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΎ Π·Π° Π½Π°ΡΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ°.
sudo dnf install xbindkeysrc ΠΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π·Π° Π½Π΅Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π°
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅Π½ ΡΠ°ΠΉΠ» Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°. ΠΡΠΈΠΌΠ΅ΡΡΡ Π΅ Π΄ΠΎΡΡΠ° ΠΊΡΠ°ΡΡΠΊ, Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΡΠΎΡΠ½ΠΎ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π½ΡΠΆΠ½ΠΎ, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ Π½Π΅Π³ΠΎ:
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
ΠΠ°ΡΠΈΡΠ½Π΅ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΎΡ ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΈΠ»ΠΈ/ΠΈ ΠΊΠ»ΠΈΠΊΠ½Π΅ΡΠ΅ ΠΏΠΎΠ΄ ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ°.
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π΅Π΄Π½Π° ΠΎΡ Π΄Π²Π΅ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΡΠ»Π΅Π΄ "NoCommand"
Π² $HOME/.xbindkeysrc, Π·Π° Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡ.
"(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
