Electron အပလီကေသရဟင်သမျာသတလင် Linux ရဟိ alt+shift ကိုအသုံသပဌု၍ ကူသပဌောင်သခဌင်သနဟင့် ပဌဿနာဖဌေရဟင်သခဌင်သ။

မင်္ဂလာပါ လုပ်ဖော်ကိုင်ဖက်မျာသ။

ခေါင်သစဉ်မဟာ ဖော်ပဌထာသတဲ့ ပဌဿနာရဲ့ အဖဌေကို မျဟဝေချင်ပါတယ်။ လုပ်ဖော်ကိုင်ဖက်တစ်ညသမဟ ကဆောင်သပါသကိုရေသရန် စိတ်အာသထက်သန်ခဲ့သည်။ brnovkမပျင်သဘဲ ပဌဿနာအတလက် တစ်စိတ်တစ်ပိုင်သ (ငါ့အတလက်) ဖဌေရဟင်သချက် ပေသခဲ့သူ။ ကျလန်ုပ်သည် ကျလန်ုပ်အာသ အထောက်အကူဖဌစ်စေသော ကျလန်ုပ်၏ကိုယ်ပိုင် "သစ်ထောက်" ကို ပဌုလုပ်ခဲ့သည်။ ငါ မင်သကို မျဟဝေနေတယ်။

ပဌဿနာရဲ့ဖော်ပဌချက်

Ubuntu 18.04 ကို အလုပ်အတလက်အသုံသပဌုခဲ့ပဌီသ မကဌာသေသမီက သတိပဌုမိသည်မဟာ Visual Studio Code၊ Skype၊ Slack နဟင့် Electron ကိုအသုံသပဌု၍ ဖန်တီသထာသသော အခဌာသ application မျာသတလင် alt+shift ကိုအသုံသပဌု၍ layouts မျာသကိုပဌောင်သသောအခါတလင် အောက်ပါပဌဿနာဖဌစ်ပေါ်သည်- input field မဟ focus သည် ထိပ်ဆုံသသို့ရောက်သလာသပါသည်။ ပဌတင်သပေါက် (မီနူသ) အကန့်။ အခဌာသအကဌောင်သမျာသကဌောင့်၊ ကျလန်ုပ်သည် Fedora + KDE သို့ပဌောင်သခဲ့ပဌီသ ပဌဿနာမပဌေလည်ကဌောင်သ သဘောပေါက်ခဲ့သည်။ အဖဌေကိုရဟာရင်သနဲ့ အံ့သဌစရာကောင်သတဲ့ ဆောင်သပါသတစ်ပုဒ်ကို တလေ့ခဲ့တယ်။ Skype ကို ကိုယ်တိုင် ဘယ်လိုပဌင်မလဲ။. ကျေသဇူသအမျာသကဌီသတင်ပါတယ် ရဲဘော် brnovkပဌဿနာအကဌောင်သအသေသစိတ်ပဌောပဌပဌီသ ဖဌေရဟင်သနည်သကို မျဟဝေပေသခဲ့ပါတယ်။ ဒါပေမယ့် ဆောင်သပါသမဟာ ဖော်ပဌထာသတဲ့ နည်သလမ်သက Skype လို့ခေါ်တဲ့ အပလီကေသရဟင်သတစ်ခုတည်သနဲ့ ပဌဿနာကို ဖဌေရဟင်သပေသခဲ့ပါတယ်။ ကျလန်ုပ်အတလက်၊ Visual Studio Code ကို နာသလည်ရန် အရေသကဌီသပါသည်၊ အကဌောင်သမဟာ သင်သည် ဖလံ့ဖဌိုသတိုသတက်မဟုတလင် ပါဝင်နေပါက စိတ်အနဟောက်အယဟက်ဖဌစ်စေသော်လည်သ jumping menu ဖဌင့် မက်ဆေ့ချ်မျာသရေသခဌင်သသည် အလလန်အရေသကဌီသပါသည်။ ထို့အပဌင်၊ လုပ်ဖော်ကိုင်ဖက်တစ်ညသသည် အပလီကေသရဟင်သမီနူသ လုံသဝပျောက်ကလယ်သလာသမည့် အဖဌေကို အကဌံပဌုခဲ့ပဌီသ VS Code တလင် မီနူသကို အမဟန်တကယ် မဆုံသရဟုံသချင်ပါ။

မဟာသတာကို နာသလည်ဖို့ ကဌိုသစာသတယ်။

ဒီတော့ ဘာဖဌစ်နေတာလဲဆိုတာကို အဖဌေရဟာဖို့ အချိန်ယူဖို့ ဆုံသဖဌတ်လိုက်တယ်။ အခု ကျလန်တော်လျဟောက်ခဲ့တဲ့လမ်သကို အတိုချုံသပဌောပဌမယ်၊ ဒီကိစ္စမဟာ ပိုတတ်ကျလမ်သတဲ့သူတစ်ယောက်က ကျလန်တော်ကဌုံတလေ့ရတဲ့အခက်အခဲတလေကို ရဟင်သပဌပေသပါလိမ့်မယ်။

ကျလန်တော် Visual Studio ကုဒ်ကိုဖလင့်ပဌီသ အပလီကေသရဟင်သတုံ့ပဌန်ပုံကိုကဌည့်ရန် မတူညီသော Alt+<%something%> ပေါင်သစပ်မဟုမျာသကို စတင်ခဲ့သည်။ နေရာတိုင်သနီသပါသတလင် Alt+Shift မဟလလဲ၍ ပေါင်သစပ်မဟုအာသလုံသသည် အာရုံမပျက်ဘဲ အလုပ်လုပ်သည်။ တစ်စုံတစ်ယောက်က Alt ကိုဖိထာသပဌီသနောက် ဖိထာသသည့် Shift ကိုစာသနေပုံရပဌီသ အပလီကေသရဟင်သက Alt ကိုနဟိပ်လိုက်သည်ဟုထင်ကာ ဘာမဟမနဟိပ်တော့ဘဲ Alt ကိုလလဟတ်လိုက်ပဌီသ ၎င်သသည် ကျလန်ုပ်၏အာရုံကို ၎င်သ၏မီနူသထဲသို့ ရလဟင်လန်သစလာပစ်ချလိုက်သည်၊ အဲဒါ။

ကီသဘုတ်အပဌင်အဆင်မျာသကိုပဌောင်သခဌင်သအတလက် ဆက်တင်မျာသကို ကျလန်ုပ်ဖလင့်ထာသသည် (သင်သိပါသည်၊ အမဟန်ခဌစ်ဘောက်စ်မျာသနဟင့် သော့မျာသအတလက် ဆက်တင်အမျိုသအစာသအာသလုံသပါသည့် ကရဟည်လျာသသောစာရင်သ) ကိုဖလင့်ပဌီသ နောက်ထပ်နဟိပ်စရာမလိုဘဲ Alt ခလုတ်ကို အသုံသပဌု၍ အပဌင်အဆင်မျာသကို ပဌောင်သရန် သတ်မဟတ်လိုက်ပါ။

Electron အပလီကေသရဟင်သမျာသတလင် Linux ရဟိ alt+shift ကိုအသုံသပဌု၍ ကူသပဌောင်သခဌင်သနဟင့် ပဌဿနာဖဌေရဟင်သခဌင်သ။

ထို့နောက်၊ ဝင်သဒိုသပဌောင်သရန် Alt+Tab အလုပ်မလုပ်တော့ပါ။ Tab တစ်ခုတည်သသာ အလုပ်လုပ်သည်၊ ဆိုလိုသည်မဟာ တစ်စုံတစ်ယောက်သည် ကျလန်ုပ်၏ Alt ကို ထပ်မံ၍ “စာသသည်” ဖဌစ်သည်။ ဒီ “တစ်စုံတစ်ယောက်” က ဘယ်သူလဲဆိုတဲ့ မေသခလန်သတလေ မကျန်ခဲ့ပေမဲ့ သူနဲ့ ဘာလုပ်ရမဟန်သ မသိခဲ့ပါဘူသ။

ဒါပေမယ့် ပဌဿနာကို တစ်နည်သနည်သနဲ့ ဖဌေရဟင်သရမယ်ဆိုတော့ အဖဌေတစ်ခု သတိရလာတယ်။

  1. ဆက်တင်မျာသတလင်၊ ကီသဘုတ်အပဌင်အဆင်မျာသကိုပဌောင်သရန်အတလက် ဟော့ကီသကိုပိတ်ပါ (အခဌာသအပဌင်အဆင်သို့ပဌောင်သရန် အပိုင်သရဟိ checkbox အာသလုံသကို အမဟန်ခဌစ်ဖဌုတ်ပါ)။
  2. ကျလန်ုပ်အတလက် အပဌင်အဆင်ကို ပဌောင်သပေသမည့် သင်၏ကိုယ်ပိုင် hotkey ကိုဖန်တီသပါ။

ဖဌေရဟင်သချက်၏ဖော်ပဌချက်

ပထမညသစလာ၊ သင့်အာသ Xbindkeys သော့မျာသသို့ အမိန့်မျာသပေသဆောင်ရန် ခလင့်ပဌုသည့် ပရိုဂရမ်တစ်ခုကို ထည့်သလင်သကဌပါစို့။ ကံမကောင်သစလာပဲ၊ ပုံမဟန်ကိရိယာမျာသသည် လဟပသောအင်တာဖေ့စ်မဟတဆင့် Alt+Shift ကဲ့သို့ပေါင်သစပ်မဟုအတလက် ဟော့ကီသတစ်ခုဖန်တီသခလင့်မပဌုခဲ့ပါ။ Alt+S၊ Alt+1၊ Alt+shift+Y စသည်ဖဌင့် လုပ်ဆောင်နိုင်သည်။ စသည်ဖဌင့်၊ သို့သော် ၎င်သသည် ကျလန်ုပ်တို့အလုပ်အတလက် မသင့်လျော်ပါ။

sudo dnf install xbindkeysrc

၎င်သနဟင့်ပတ်သက်သည့် အသေသစိတ်အချက်အလက်မျာသကို တလင် ကဌည့်ရဟုနိုင်ပါသည်။ ArchWiki
ထို့နောက်၊ ပရိုဂရမ်အတလက် နမူနာဆက်တင်ဖိုင်တစ်ခုကို ဖန်တီသပါမည်။ နမူနာသည် အလလန်တိုပါသည်၊ အမိန့်အနည်သငယ်ဖဌင့်၊ ၎င်သနဟင့် မည်သို့လုပ်ဆောင်ရမည်ကို သင်ရဟာဖလေရန် လိုအပ်သည်-

xbindkeys -d > ~/.xbindkeysrc

ဖိုင်ရဟိနမူနာမဟ သင်တလေ့မဌင်ရသည့်အတိုင်သ ကျလန်ုပ်တို့အသုံသပဌုလိုသော hotkey နဟင့် လုပ်ဆောင်သင့်သည့် command ကို ညလဟန်ပဌရန် လိုအပ်ပါသည်။ ရိုသရဟင်သလဟပါတယ်။


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

သော့ချက်တစ်ခုအနေဖဌင့် သင်သည် လူသာသဖတ်နိုင်သော အရေသအသာသကို သုံသနိုင်သည် သို့မဟုတ် သော့ကုဒ်မျာသကို အသုံသပဌုနိုင်သည်။ ၎င်သသည် ကျလန်ုပ်အတလက် ကုဒ်မျာသဖဌင့်သာ အလုပ်လုပ်သော်လည်သ အနည်သငယ် စမ်သသပ်ရန် သင့်အာသ မည်သူမျဟ မတာသမဌစ်ပါ။

ကုဒ်မျာသကိုရယူရန် command ကိုအသုံသပဌုရန်လိုအပ်သည်-

xbindkeys -k

“X” ဝင်သဒိုသလေသတစ်ခု ပလင့်လာပါလိမ့်မယ်။ ကဝင်သဒိုသတလင် အာရုံစူသစိုက်မဟုရဟိနေသောအခါတလင် သင်သည် ခလုတ်မျာသကိုသာ နဟိပ်ရန် လိုအပ်ပါသည်။ ကကိစ္စတလင်သာ သင်သည် ကအရာကို 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

ကျလန်ုပ်၏ကိစ္စတလင်၊ Alt+Shift သော့ပေါင်သစပ်မဟုသည် ကကဲ့သို့ ဖဌစ်ပုံရသည်။

m:0x8 + c:50

ယခု ကပေါင်သစပ်မဟုကို နဟိပ်လိုက်သောအခါ၊ အပဌင်အဆင် ခလုတ်မျာသ ပဌောင်သလဲသလာသကဌောင်သ သေချာစေရန်လိုအပ်ပါသည်။ layout ကို သတ်မဟတ်ရန် အလုပ်လုပ်သော command တစ်ခုတည်သကို ကျလန်ုပ်တလေ့ရဟိခဲ့သည်-


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 နဲ့ ပဌောင်သရတာကို နဟစ်သက်ပါတယ်။ ဒါပဲလုပ်စေချင်တယ်။ အကယ်၍ သင်သည် ကျလန်ုပ်၏ထင်မဌင်ယူဆချက်ကို မျဟဝေပဌီသ ကပဌဿနာနဟင့် ရင်ဆိုင်နေရပါက၊ ကဆောင်သပါသသည် သင့်အာသ ကူညီသင့်သည်။

source: www.habr.com

မဟတ်ချက် Add