Ngarengsekeun masalah sareng gentos nganggo alt+shift dina Linux, dina aplikasi éléktron

Halo kolega!

Abdi hoyong bagikeun solusi kuring pikeun masalah anu dituduhkeun dina judulna. Kuring diideuan nulis artikel ieu ku batur sapagawean brnovk, anu teu puguh jeung ditawarkeun parsial (keur kuring) solusi pikeun masalah. Kuring nyieun sorangan "krung" nu mantuan kuring. Abdi bagikeun sareng anjeun.

Pedaran masalah

Kuring nganggo Ubuntu 18.04 kanggo damel sareng nembe perhatikeun yén nalika ngagentos perenah nganggo alt + shift dina aplikasi sapertos Visual Studio Code, Skype, Slack sareng anu sanésna anu diciptakeun nganggo Éléktron, masalah di handap ieu lumangsung: fokus ti widang input angkat ka luhur. panel jandela (menu). Kanggo alesan anu sanés, kuring ngalih ka Fedora + KDE sareng sadar yén masalahna henteu musna. Nalika milarian solusi, kuring mendakan tulisan anu saé Kumaha carana ngalereskeun Skype sorangan. Hatur nuhun pisan sobat brnovk, anu nyarios sacara rinci ngeunaan masalah éta sareng ngabagi metodeu pikeun ngarengsekeunana. Tapi metodeu anu dituduhkeun dina tulisan ngarengsekeun masalah ngan ukur hiji aplikasi, nyaéta Skype. Pikeun kuring, éta ogé kritis ngartos Visual Studio Code, sabab nulis pesen kalawan menu jumping, sanajan bangor, teu jadi loba lamun aub dina ngembangkeun. Tambih Deui, batur sapagawean ngusulkeun solusi dimana ménu aplikasi ngaleungit lengkep, sareng kuring henteu hoyong kaleungitan ménu dina VS Code.

Dicobian ngartos naon anu salah

Janten, kuring mutuskeun nyandak waktos pikeun terang naon anu lumangsung. Ayeuna kuring bakal ngajelaskeun sakeudeung jalan anu kuring angkat, panginten anu langkung terang dina hal ieu bakal ngabantosan ngajelaskeun kasusah anu kuring hadapi.

Kuring muka Visual Studio Code tur mimitian nganiaya Alt + <%something%> kombinasi béda pikeun ningali kumaha aplikasi nu direspon. Ampir sadaya kasus, sadaya kombinasi iwal Alt + Shift digawé tanpa kaleungitan fokus. Sigana mah aya anu ngadahar Shift anu dipencet, anu dituturkeun saatos nahan Alt, sareng aplikasi ngira yén kuring mencét Alt, teras henteu pencét nanaon, ngaluarkeun Alt sareng éta kalayan bungah ngalungkeun fokus kuring kana ménu na, anu sigana cukup logis. ieu.

Kuring muka setélan pikeun pindah layouts keyboard (anjeun terang, daptar panjang ieu kalawan kotak centang jeung sagala sorts setelan pikeun kenop) tur nyetel eta pikeun pindah layouts ngagunakeun tombol Alt, tanpa clicks tambahan.

Ngarengsekeun masalah sareng gentos nganggo alt+shift dina Linux, dina aplikasi éléktron

Saatos éta, Alt + Tab pikeun ngalih windows lirén damel. Ngan Tab digawé, nyaeta, batur "dahar" Alt kuring deui. Henteu aya patarosan anu tinggaleun ngeunaan saha "batur" ieu, tapi kuring henteu terang naon anu tiasa dilakukeun sareng anjeunna.

Tapi kusabab masalahna kedah direngsekeun kumaha waé, teras aya solusi anu aya dina pikiran:

  1. Dina setélan, nonaktipkeun hotkey pikeun ngalihkeun tata perenah keyboard (pupus centang sadaya kotak centang dina Pindah ka bagian perenah anu sanés);
  2. Jieun hotkey sorangan nu bakal pindah perenah pikeun kuring

Katerangan ngeunaan solusi

Kahiji, hayu urang pasang program anu ngamungkinkeun anjeun napelkeun paréntah kana konci Xbindkeys. Hanjakal, parabot baku teu ngidinan kuring nyieun hotkey pikeun kombinasi kawas Alt + Shift ngaliwatan panganteur geulis. Bisa dipigawé pikeun Alt+S, Alt+1, Alt+shift+Y, jsb. jsb, tapi ieu teu cocog pikeun tugas urang.

sudo dnf install xbindkeysrc

Rincian langkung seueur ngeunaan éta sayogi di ArchWiki
Salajengna, urang bakal nyieun conto file setélan pikeun program. Sampelna cukup pondok, kalayan sababaraha paréntah, ngan naon anu anjeun peryogikeun pikeun ngerjakeunana:

xbindkeys -d > ~/.xbindkeysrc

Sakumaha anjeun tiasa tingali tina conto dina file, urang kedah nunjukkeun hotkey anu badé dianggo sareng paréntah anu kedah dieksekusi. Sigana basajan.


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

Salaku konci panas, anjeun tiasa nganggo tulisan anu tiasa dibaca ku manusa atanapi nganggo kode konci. Éta dianggo pikeun kuring ngan ukur nganggo kode, tapi teu aya anu nyaram anjeun ékspérimén sakedik.

Pikeun kéngingkeun kodeu anjeun kedah nganggo paréntah:

xbindkeys -k

Jandéla "X" leutik bakal dibuka. Anjeun ngan ukur kedah pencét kenop nalika pokus dina jandela ieu! Ngan dina hal ieu anjeun bakal nempo hal kawas kieu dina terminal:


[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

Dina kasus kuring, kombinasi konci Alt + Shift sapertos kieu:

m:0x8 + c:50

Ayeuna urang kedah mastikeun yén nalika anjeun ngaklik kombinasi ieu, perenah ngalih. Kuring ngan ukur mendakan hiji paréntah anu tiasa dianggo pikeun netepkeun perenah:


setxkbmap ru
setxkbmap us

Sakumaha anjeun tiasa tingali tina conto, éta ngan ukur tiasa ngaktifkeun hiji atanapi perenah anu sanés, janten teu aya anu aya dina pikiran kuring sanés nyerat naskah.


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

Ayeuna, upami file .xbindkeysrc sareng layout.sh aya dina diréktori anu sami, maka tampilan ahir file .xbindkeysrc sapertos kieu:


# 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

Sanggeus éta kami nerapkeun parobahan:


xbindkeys -p

Sareng anjeun tiasa pariksa. Tong hilap mareuman pilihan naon waé pikeun ngagentos perenah dina setélan standar.

hasil

Babaturan, kuring ngarepkeun tulisan ieu tiasa ngabantosan batur gancang ngaleungitkeun masalah anu ngaganggu. Sacara pribadi, kuring nyéépkeun sadinten sadinten kuring nyobian terang sareng ngabéréskeun masalah kumaha waé, supados kuring henteu deui kaganggu ku éta dina jam kerja. Kuring nyerat tulisan ieu pikeun ngahémat waktos sareng saraf batur. Seueur anjeun nganggo metode alternatif pikeun ngagentos perenah sareng henteu ngartos naon masalahna. Kuring pribadi resep ngalih sareng Alt + Shift. Sareng éta kumaha kuring hoyong éta jalan. Upami anjeun ngabagi pendapat kuring sareng nyanghareupan masalah ieu, tulisan ieu kedah ngabantosan anjeun.

sumber: www.habr.com

Tambahkeun komentar