alt+shift ашиглан шилжих асуудлыг шийдвэрлэх Linux, электрон хэрэглээнд

Сайн байна уу хамт олон!

Гарчигт дурдсан асуудлын шийдлээ хуваалцахыг хүсэж байна. Энэ нийтлэлийг бичих санааг хамт ажиллагсад маань надад төрүүлсэн юм. брновк, асуудлын хэсэгчилсэн (миний хувьд) шийдлийг санал болгохын тулд хүчин чармайлт гаргасан. Би өөртөө тусалсан өөрийн гэсэн "хууран мэхлэлт"-ийг бүтээсэн. Би үүнийг тантай хуваалцаж байна.

Асуудлын тодорхойлолт

Ашигласан Ubuntu Би ажилдаа 18.04 хувилбарыг ашиглаж байсан бөгөөд саяхан Visual Studio Code, Skype, Slack болон Electron-той бүтээгдсэн бусад програмуудад Alt+Shift ашиглан байршлыг өөрчлөх үед дараах асуудал гарч ирснийг анзаарсан: фокус оролтын талбараас дээд цонхны самбар (цэс) рүү шилждэг. Бусад шалтгааны улмаас би Fedora + KDE руу шилжсэн бөгөөд асуудал хэвээр байгааг анзаарсан. Шийдэл хайж байхдаа би энэ маш сайн нийтлэлийг олсон. Skype-г өөрийн гараар засахМаш их баярлалаа, нөхөр минь. брновк, асуудлыг дэлгэрэнгүй тайлбарлаж, шийдлээ хуваалцсан. Гэсэн хэдий ч нийтлэлд дурдсан шийдэл нь зөвхөн нэг програм болох Skype дээр ажилласан. Мөн Visual Studio Code-г олж мэдэх нь миний хувьд маш чухал байсан, учир нь үсрэх цэстэй мессеж бичих нь төвөгтэй боловч хөгжүүлж байгаа бол тийм ч муу биш юм. Дээрээс нь хамт ажиллагч маань програмын цэсийг бүрмөсөн алга болгодог шийдлийг санал болгосон бөгөөд би VS Code дээрх цэсийг алдахыг үнэхээр хүсээгүй.

Би юу болоод байгааг ойлгохыг хичээв.

Тиймээс би юу болж байгааг олж мэдэх цаг гаргахаар шийдсэн. Би өөрийн туулсан замыг товчхон тайлбарлая; магадгүй энэ чиглэлээр илүү мэдлэгтэй хэн нэгэн миний тулгарсан бэрхшээлийг тодруулахад тусалж магадгүй юм.

Би Visual Studio Code-г нээгээд янз бүрийн Alt+<%something%> хослолуудыг дарж, апп-ын хариу үйлдлийг ажиглаж эхэлсэн. Бараг бүх тохиолдолд Alt+Shift-ээс бусад бүх хослолууд фокусаа алдалгүйгээр ажилласан. Alt товчийг дарсны дараа дарсан Shift товчийг ямар нэгэн зүйл залгиж байгаа юм шиг санагдаж, апп намайг Alt товчийг дарсан гэж бодоод юу ч дараагүй, Alt товчийг суллаад, миний фокусыг цэс рүүгээ баяртайгаар шилжүүлсэн нь түүнд маш логиктой санагдсан.

Би гарын байрлал солих тохиргоог нээгээд (та мэдэж байгаачлан, тэмдэглэх нүд болон товчлуурын бүх төрлийн тохиргоотой урт жагсаалт), нэмэлт даралтгүйгээр байрлал солих тохиргоог Alt товчлуур дээр тохируулсан.

alt+shift ашиглан шилжих асуудлыг шийдвэрлэх Linux, электрон хэрэглээнд

Үүний дараа цонх солиход Alt+Tab ажиллахаа больсон. Зөвхөн Tab л ажилласан, өөрөөр хэлбэл хэн нэгэн миний Alt товчийг дахин "идэж" байсан. Энэ "хэн нэгэн" хэн болох нь эргэлзээгүй байсан ч би үүнтэй юу хийхээ мэдэхгүй байв.

Гэхдээ асуудлыг ямар нэгэн байдлаар шийдэх шаардлагатай байсан тул шийдэл санаанд орж ирэв:

  1. Тохиргоонд гарын байрлалыг солих халуун товчлуурыг идэвхгүйжүүлнэ үү (Өөр байрлал руу шилжих хэсэгт байгаа бүх тэмдэглэгээг арилгана уу);
  2. Миний байршлыг өөрчлөх өөрийн гэсэн халуун товчлуурыг үүсгээрэй

Шийдлийн тайлбар

Эхлээд товчлууруудад команд оноох боломжийг олгодог 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

Жижиг "X" цонх нээгдэнэ. Та энэ цонх фокуслагдсан үед л товчлууруудыг дарах хэрэгтэй! Зөвхөн үүний дараа та терминал дээр иймэрхүү зүйлийг харах болно:


[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-ийг илүүд үздэг бөгөөд үүнийг ингэж ажиллуулахыг хүсч байна. Хэрэв та миний санал бодлыг хуваалцаж, энэ асуудалтай тулгарч байгаа бол энэ нийтлэл танд туслах ёстой.

Эх сурвалж: www.habr.com

DDoS хамгаалалт, VPS VDS сервер бүхий сайтуудад найдвартай хостинг худалдаж аваарай 🔥 DDoS хамгаалалттай, VPS VDS сервертэй найдвартай вэбсайт хостинг худалдаж аваарай | ProHoster