Ctrl + तीरों को घर और अंतिम कुंजियों में कैसे बांधें? xmodmap काम नहीं करता है


15

विंडोज पर, मैं Ctrl+ Leftको टु Homeऔर Ctrl+ राइट टू Endअहांक से बांधता था।

अब मैं उबंटू में इस व्यवहार को प्राप्त करने के लिए संघर्ष कर रहा हूं। मैंने संपादन की कोशिश की है /etc/inputrc:

"\e[1;5C": end-of-line
"\e[1;5D": beginning-of-line

यह काम करता है लेकिन केवल टर्मिनल विंडो में। मैंने भी xmodmap आज़माया है:

xmodmap -e "keycode 113=Left NoSymbol Home"

लेकिन यह काम नहीं करता है।
यहाँ अजीब बात यह है कि अगर मैं xmodmap में Shift+ को बांधता हूँ तो Leftयह काम करता है:

xmodmap -e "keycode 113=Left Home"

मेरा अनुमान यहाँ है कि Ctrl+ Left(शब्दों को छोड़ें) का डिफ़ॉल्ट व्यवहार किसी तरह से xmodmap बाइंडिंग को प्राथमिकता देता है।

मुझे कहां मिल सकता है कि डिफ़ॉल्ट बाइंडिंग कहां स्थित हैं और इसे कैसे निकालना है? या, हो सकता है कि मैं वहाँ व्यवहार की जरूरत है?

मैं Ubuntu 12.04 पर हूं


क्या आप xevउन कुंजियों के लिए आउटपुट प्राप्त करते हैं जिन्हें आप बदलना चाहते हैं?
सेठ

मैं करता हूँ। मुझे केवेड 113 = लेफ्ट एक्सवे आउटपुट से मिला है।
acid009

क्या आप xevकृपया पूरा आउटपुट जोड़ सकते हैं ?
सेठ

राज्य 0x0, कीकोड 113 (कीसम 0xff51, लेफ्ट)
acid009

और स्टेट 0x4, कीकोड 113 (कीसम 0xff51, लेफ्ट) अगर Ctrl से दबाया जाता है - राज्य को अपेक्षित रूप से 0x4 में बदल दिया जाता है
acid009

जवाबों:


11

AutoKey इस तरह से बाइंडिंग कर सकती है, लेकिन इसके लिए बैकग्राउंड में एक सर्विस (जैसे ahm, लेकिन xmodmap के विपरीत) चलाने की आवश्यकता होती है।

एक "वाक्यांश" कॉन्फ़िगर करें जहां पाठ है <home>, पेस्ट विधि है Keyboard, और हॉटकी है <ctrl>-<left>:

ऑटोके जीयूआई


अच्छा लगा। यह भी एक जवाब के रूप में यहाँ एक अच्छा फिट हो सकता है के रूप में अच्छी तरह से askubuntu.com/questions/254424/…
केविन बोवेन

1
एक विस्तारित, अधिक सामान्य संस्करण: askubuntu.com/a/304834/194 क्या इस प्रश्न को डुप्लिकेट बनाता है?
cscarney

यह शायद करता है, लेकिन आपको अभी भी इनाम मिलना चाहिए। ;-)
केविन बोवेन

यह तरीका काम नहीं करता है।
acid009

1
@JeffDror यह <page_up> और <page_down> ( code.google.com/p/autokey/wiki/SpecialKeys ) है
cscarney

1

मैं Ubuntu वर्कस्टेशन पर Apple एल्यूमीनियम कीबोर्ड का उपयोग कर रहा हूं और निम्नलिखित xmodmap कमांड ने मेरे लिए यह किया है:

# remap Ctrl_L to ModeSwitch, then use it to map arrow keys so that
# they act like on the MacBook keyboard with Fn key pressed 
xmodmap -e "keycode 37=Mode_switch"
xmodmap -e "keycode 113 = Left NoSymbol Home"
xmodmap -e "keycode 114 = Right NoSymbol End"
xmodmap -e "keycode 111 = Up NoSymbol Prior"
xmodmap -e "keycode 116 = Down NoSymbol Next"

यह पूरी तरह से काम करता है क्योंकि Caps Lockउबंटू कीबोर्ड वरीयताओं का उपयोग करके मेरी फ़ंक्शन को नियंत्रण फ़ंक्शन में बदल दिया जाता है, इसलिए बाईं नियंत्रण कुंजी की आवश्यकता नहीं है। चूंकि यह स्थित है जहां मैकबुक कीबोर्ड पर एफएन कुंजी पाई जाती है, डेस्कटॉप और मैकबुक कीबोर्ड के बीच स्विच करने से मांसपेशियों की मेमोरी पर असर नहीं पड़ता है।


0

आटोकी ने मेरे लिए काम किया। डिफ़ॉल्ट ऑटोकै व्यवहार होगा: मैप right ctrl+ arrowऔर left ctrl+ दोनों arrow। और मैं केवल यही चाहता था right ctrl, क्योंकि मैं left ctrlशब्दों को नेविगेट करता था।

यहाँ वह स्क्रिप्ट है जिसका मैंने ऑटोकै में उपयोग किया है:

output = system.exec_command('xinput query-state "AT Translated Set 2 keyboard" | grep down', getOutput=True)
# 105 is right ctrl
if 'key[105]=down' in output:
    keyboard.send_keys('<end>')
else:
    keyboard.send_keys('<ctrl>+<right>')

नोट: आपके पास एक अलग कीबोर्ड का नाम हो सकता है। उन सभी की कोशिश करो। मेरे पास 3 उपकरण थे, लेकिन केवल एक ने काम किया

xinput list --name-only | grep -i keyb
Virtual core keyboard
Virtual core XTEST keyboard
AT Translated Set 2 keyboard

PS I ने GitHub से ऑटोकै को स्थापित किया, क्योंकि उबंटू सॉफ्टवेयर में पैकेज टूट गया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.