హలో సహోద్యోగులారా!
శీర్షికలో సూచించిన సమస్యకు నా పరిష్కారాన్ని పంచుకోవాలనుకుంటున్నాను. నేను ఈ కథనాన్ని వ్రాయడానికి ఒక సహోద్యోగి ద్వారా ప్రేరణ పొందాను
సమస్య యొక్క వివరణ
నేను పని కోసం ఉబుంటు 18.04ని ఉపయోగించాను మరియు విజువల్ స్టూడియో కోడ్, స్కైప్, స్లాక్ మరియు ఎలక్ట్రాన్ ఉపయోగించి సృష్టించబడిన ఇతర అప్లికేషన్లలో alt+shift ఉపయోగించి లేఅవుట్లను మార్చేటప్పుడు, కింది సమస్య ఏర్పడుతుందని ఇటీవల గమనించాను: ఇన్పుట్ ఫీల్డ్ నుండి ఫోకస్ పైకి వెళ్తుంది. విండో యొక్క ప్యానెల్ (మెను). ఇతర కారణాల వల్ల, నేను Fedora + KDEకి మారాను మరియు సమస్య సమసిపోలేదని గ్రహించాను. పరిష్కారం కోసం వెతుకుతున్నప్పుడు, నాకు ఒక అద్భుతమైన వ్యాసం దొరికింది
తప్పు ఏమిటో అర్థం చేసుకోవడానికి ప్రయత్నించాడు
కాబట్టి, ఏమి జరుగుతుందో తెలుసుకోవడానికి నేను సమయాన్ని వెచ్చించాలని నిర్ణయించుకున్నాను. ఇప్పుడు నేను తీసుకున్న మార్గాన్ని క్లుప్తంగా వివరిస్తాను, బహుశా ఈ విషయంలో మరింత పరిజ్ఞానం ఉన్న ఎవరైనా నేను ఎదుర్కొన్న ఇబ్బందులను వివరించడంలో సహాయపడవచ్చు.
నేను విజువల్ స్టూడియో కోడ్ని తెరిచి, అప్లికేషన్ ఎలా స్పందిస్తుందో చూడటానికి వివిధ Alt+<%something%> కలయికలను కొట్టడం ప్రారంభించాను. దాదాపు అన్ని సందర్భాల్లో, Alt+Shift మినహా అన్ని కలయికలు ఫోకస్ కోల్పోకుండా పనిచేశాయి. Alt నొక్కిన తర్వాత ఎవరో నొక్కిన Shiftని తింటున్నట్లు అనిపించింది, మరియు అప్లికేషన్ నేను Alt నొక్కినట్లు భావించింది, ఆపై ఏమీ నొక్కలేదు, Altని విడుదల చేసింది మరియు అది చాలా లాజికల్గా అనిపించిన దాని మెనూలో ఆనందంగా నా దృష్టిని విసిరింది. అది.
నేను కీబోర్డ్ లేఅవుట్లను మార్చడానికి సెట్టింగ్లను తెరిచాను (మీకు తెలుసా, చెక్బాక్స్లతో కూడిన ఈ పొడవైన జాబితా మరియు కీల కోసం అన్ని రకాల సెట్టింగ్లు) మరియు అదనపు క్లిక్లు లేకుండా, Alt బటన్ని ఉపయోగించి లేఅవుట్లను మార్చడానికి దీన్ని సెట్ చేసాను.
ఆ తర్వాత, విండోలను మార్చడానికి Alt+Tab పని చేయడం ఆగిపోయింది. ట్యాబ్ మాత్రమే పని చేసింది, అంటే ఎవరైనా నా ఆల్ట్ని మళ్లీ "తిన్నారు". ఈ "ఎవరో" ఎవరు అనే దాని గురించి ఎటువంటి ప్రశ్నలు లేవు, కానీ అతనితో ఏమి చేయవచ్చో నాకు తెలియదు.
కానీ సమస్యను ఎలాగైనా పరిష్కరించాలి కాబట్టి, అప్పుడు ఒక పరిష్కారం గుర్తుకు వచ్చింది:
- సెట్టింగులలో, కీబోర్డ్ లేఅవుట్లను మార్చడం కోసం హాట్కీని నిలిపివేయండి (మరొక లేఅవుట్ విభాగానికి మారడంలోని అన్ని చెక్బాక్స్లను ఎంపిక చేయవద్దు);
- నా కోసం లేఅవుట్ను మార్చే మీ స్వంత హాట్కీని సృష్టించండి
పరిష్కారం యొక్క వివరణ
ముందుగా, 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