Linux හි, ඉලෙක්ට්‍රෝන යෙදුම්වල alt+shift භාවිතයෙන් මාරුවීමේ ගැටලුව විසඳීම

ආයුබෝවන් සගයන්!

මාතෘකාවේ දක්වා ඇති ගැටලුවට මගේ විසඳුම බෙදා ගැනීමට මට අවශ්‍යය. මෙම ලිපිය ලිවීමට මා පෙලඹුණේ සගයකු විසිනි brnovk, කම්මැලි නොවූ අතර ගැටලුවට අර්ධ (මා වෙනුවෙන්) විසඳුමක් ඉදිරිපත් කළේය. මම මගේම "කිහිලිකරු" හැදුවා එය මට උදව් කළා. මම ඔබ සමඟ බෙදාගන්නවා.

ගැටලුව පිළිබඳ විස්තරය

මම වැඩ සඳහා Ubuntu 18.04 භාවිතා කළ අතර මෑතකදී දුටුවේ ඉලෙක්ට්‍රෝන භාවිතයෙන් නිර්මාණය කරන ලද Visual Studio Code, Skype, Slack සහ වෙනත් යෙදුම්වල alt+shift භාවිතා කර පිරිසැලසුම් මාරු කිරීමේදී පහත ගැටලුව ඇති වන බවයි: ආදාන ක්ෂේත්‍රයෙන් අවධානය යොමු කිරීම ඉහළට යයි. කවුළුවේ පුවරුව (මෙනුව). වෙනත් හේතූන් මත, මම Fedora + KDE වෙත මාරු වූ අතර ගැටලුව පහව ගොස් නැති බව මට වැටහුණි. ඒකට විසදුමක් හොයද්දි අපූරු ලිපියක් හම්බුනා ස්කයිප් ඔබම නිවැරදි කරන්නේ කෙසේද. බොහොම ස්තුතියි සහෝදරයා brnovk, ප්‍රශ්නය ගැන විස්තරාත්මකව කතා කළ සහ එය විසඳීමේ ක්‍රමය බෙදාගත් තැනැත්තා. නමුත් ලිපියේ දක්වා ඇති ක්‍රමය මඟින් ගැටළුව විසඳා ඇත්තේ එක් යෙදුමක් පමණි, එනම් ස්කයිප්. මට නම්, විෂුවල් ස්ටුඩියෝ කේතය තේරුම් ගැනීම ඉතා වැදගත් විය, මන්ද පැනීමේ මෙනුවක් සමඟ පණිවිඩ ලිවීම කරදරකාරී වුවද, ඔබ සංවර්ධනයට සම්බන්ධ නම් එතරම් නොවේ. ඊට අමතරව, සගයෙක් යෙදුම් මෙනුව සම්පූර්ණයෙන්ම අතුරුදහන් වන විසඳුමක් යෝජනා කළ අතර, VS කේතයේ මෙනුව නැති කිරීමට මට ඇත්තටම අවශ්‍ය නැත.

වැරැද්ද කුමක්දැයි තේරුම් ගැනීමට උත්සාහ කළා

එබැවින්, සිදුවන්නේ කුමක්දැයි සොයා ගැනීමට කාලය ගත කිරීමට මම තීරණය කළෙමි. දැන් මම මා ගිය මාර්ගය කෙටියෙන් විස්තර කරමි, සමහර විට මේ කාරණය සම්බන්ධයෙන් වඩාත් දැනුමක් ඇති අයෙකු මා මුහුණ දුන් දුෂ්කරතා පැහැදිලි කිරීමට උපකාර කරනු ඇත.

මම විෂුවල් ස්ටූඩියෝ කේතය විවෘත කර යෙදුම ප්‍රතිචාර දැක්වූ ආකාරය බැලීමට විවිධ Alt+<%something%> සංයෝජනවලට පහර දීමට පටන් ගතිමි. සෑම අවස්ථාවකම පාහේ, Alt+Shift හැර අනෙකුත් සියලුම සංයෝජන අවධානය අඩු නොකර ක්‍රියා කරයි. Alt තද කිරීමෙන් පසුව කවුරුන් හෝ තද කළ Shift කන බවක් පෙනුණි, සහ යෙදුම සිතුවේ මම Alt තද කළ බවයි, පසුව කිසිවක් ඔබන්නේ නැත, Alt මුදා හැර එය ප්‍රීතියෙන් එහි මෙනුව වෙත මගේ අවධානය යොමු කළේය, එය තරමක් තාර්කික බවක් පෙනෙන්නට තිබුණි. එය.

මම යතුරුපුවරු පිරිසැලසුම් මාරු කිරීම සඳහා සැකසුම් විවෘත කළෙමි (ඔබ දන්නවා, පිරික්සුම් කොටු සහිත මෙම දිගු ලැයිස්තුව සහ යතුරු සඳහා සියලු වර්ගවල සිටුවම්) සහ අමතර ක්ලික් කිරීම් නොමැතිව, Alt බොත්තම භාවිතයෙන් පිරිසැලසුම් මාරු කිරීමට එය සකසා ඇත.

Linux හි, ඉලෙක්ට්‍රෝන යෙදුම්වල alt+shift භාවිතයෙන් මාරුවීමේ ගැටලුව විසඳීම

ඊට පසු, කවුළු මාරු කිරීමට Alt+Tab වැඩ කිරීම නතර විය. Tab පමණක් ක්‍රියාත්මක විය, එනම් යමෙකු මගේ Alt නැවත "කෑවා". මේ "කෙනෙක්" කවුද යන්න ගැන ප්‍රශ්න කිසිවක් ඉතිරිව නොතිබුණි, නමුත් ඔහු සමඟ කළ හැක්කේ කුමක්දැයි මම නොදනිමි.

නමුත් ප්‍රශ්නය කෙසේ හෝ විසඳිය යුතු බැවින්, එවිට විසඳුමක් සිතට පැමිණියේය:

  1. සැකසුම් තුළ, යතුරුපුවරු පිරිසැලසුම් මාරු කිරීම සඳහා හොට්කී අක්‍රිය කරන්න (වෙනත් පිරිසැලසුම් කොටසකට මාරුවීමෙහි ඇති සියලුම පිරික්සුම් කොටු සලකුණු නොකරන්න);
  2. මා සඳහා පිරිසැලසුම මාරු කරන ඔබේම හොට්කී එකක් සාදන්න

විසඳුම පිළිබඳ විස්තරය

පළමුව, Xbindkeys යතුරු වෙත විධාන පැවරීමට ඔබට ඉඩ සලසන වැඩසටහනක් ස්ථාපනය කරමු. අවාසනාවන්ත ලෙස, සම්මත මෙවලම් මට අලංකාර අතුරු මුහුණතක් හරහා Alt+Shift වැනි සංයෝජනයක් සඳහා hotkey එකක් සෑදීමට ඉඩ දුන්නේ නැත. 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

අදහස් එක් කරන්න