الیکٹران ایپلی کیشنز میں لینکس میں alt+shift کا استعمال کرتے ہوئے سوئچنگ کے ساتھ مسئلہ حل کرنا

ہیلو ساتھیوں!

میں اس مسئلے کا حل بتانا چاہتا ہوں جس کا عنوان میں اشارہ کیا گیا ہے۔ مجھے یہ مضمون ایک ساتھی نے لکھنے کی ترغیب دی۔ brnovk، جو سست نہیں تھا اور اس نے مسئلہ کا جزوی (میرے لئے) حل پیش کیا۔ میں نے اپنی "بیسائی" بنائی جس نے میری مدد کی۔ میں آپ کے ساتھ شیئر کر رہا ہوں۔

مسئلہ کا بیان

میں نے کام کے لیے Ubuntu 18.04 کا استعمال کیا اور حال ہی میں دیکھا کہ جب الیکٹران کا استعمال کرتے ہوئے تخلیق کردہ Visual Studio Code، Skype، Slack اور دیگر ایپلی کیشنز میں alt+shift کا استعمال کرتے ہوئے لے آؤٹ کو تبدیل کرتے ہیں تو درج ذیل مسئلہ پیدا ہوتا ہے: ان پٹ فیلڈ سے فوکس اوپر جاتا ہے۔ ونڈو کا پینل (مینو)۔ دیگر وجوہات کی بناء پر، میں Fedora + KDE میں چلا گیا اور محسوس کیا کہ مسئلہ دور نہیں ہوا ہے۔ حل تلاش کرتے ہوئے، مجھے ایک شاندار مضمون ملا اسکائپ کو خود کیسے ٹھیک کریں۔. بہت شکریہ کامریڈ brnovkجس نے مسئلہ کے بارے میں تفصیل سے بات کی اور اسے حل کرنے کا اپنا طریقہ بتایا۔ لیکن مضمون میں بتائے گئے طریقہ نے مسئلہ کو صرف ایک ایپلیکیشن یعنی Skype سے حل کیا۔ میرے لیے، بصری اسٹوڈیو کوڈ کو سمجھنا بھی اہم تھا، کیونکہ جمپنگ مینو کے ساتھ پیغامات لکھنا، اگرچہ پریشان کن ہے، اگر آپ ترقی میں شامل ہیں تو اتنا زیادہ نہیں ہے۔ اس کے علاوہ، ایک ساتھی نے ایک ایسا حل تجویز کیا جس میں ایپلیکیشن کا مینو مکمل طور پر غائب ہو جائے، اور میں واقعی VS کوڈ میں مینو کو کھونا نہیں چاہوں گا۔

سمجھنے کی کوشش کی کہ کیا غلط ہے۔

لہذا، میں نے یہ جاننے کے لیے وقت نکالنے کا فیصلہ کیا کہ کیا ہو رہا ہے۔ اب میں مختصراً اس راستے کو بیان کروں گا جو میں نے اختیار کیا، ہو سکتا ہے کہ اس معاملے میں کوئی زیادہ جاننے والا مجھے ان مشکلات کی وضاحت کرنے میں مدد دے جو مجھے درپیش تھی۔

میں نے ویژول اسٹوڈیو کوڈ کھولا اور مختلف Alt+<%something%> کے مجموعے کو مارنا شروع کر دیا تاکہ یہ معلوم ہو سکے کہ ایپلیکیشن نے کیسا جواب دیا۔ تقریباً تمام معاملات میں، Alt+Shift کے علاوہ تمام امتزاج نے توجہ کھوئے بغیر کام کیا۔ ایسا لگتا تھا کہ کوئی دبائی ہوئی شفٹ کھا رہا ہے، جو Alt کو دبانے کے بعد آئی، اور ایپلی کیشن نے سوچا کہ میں نے Alt کو دبایا، پھر کچھ نہیں دبایا، Alt کو جاری کیا اور اس نے خوشی سے میری توجہ اپنے مینو میں ڈال دی، جو کہ کافی منطقی لگ رہا تھا۔ یہ.

میں نے کی بورڈ لے آؤٹ کو تبدیل کرنے کے لیے سیٹنگز کھولی (آپ جانتے ہیں کہ یہ لمبی فہرست جس میں چیک باکسز اور کیز کے لیے ہر طرح کی سیٹنگز ہیں) اور اسے بغیر کسی اضافی کلکس کے Alt بٹن کا استعمال کرتے ہوئے لے آؤٹ کو سوئچ کرنے کے لیے سیٹ کیا۔

الیکٹران ایپلی کیشنز میں لینکس میں alt+shift کا استعمال کرتے ہوئے سوئچنگ کے ساتھ مسئلہ حل کرنا

اس کے بعد، ونڈوز کو سوئچ کرنے کے لیے Alt+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

نیا تبصرہ شامل کریں