एक कीबोर्ड से माउस का अनुकरण करना


13

मैं माउस क्लिक की तरह कार्य करने के लिए कीबोर्ड पर एक बटन बनाना चाहता हूं, अधिमानतः xmodmap का उपयोग करना। मैं यह कैसे करुं?

उबुन्टु 10.10।


setxkbmap -option keypad:pointerkeysआप क्या चाहते हैं। फिर एक शिफ्ट-न्यूक्लॉक।
पेटेर -

जवाबों:


6

निम्नलिखित कदम आपको माउस बटन के लिए अपने कीबोर्ड कुंजियों को फिर से तैयार करने में मदद करेंगे।

  1. xevउपयोगिता का उपयोग कर कीबोर्ड कुंजी को पहचानें ।

    Xev यूटिलिटी को रन करना और कीबोर्ड की कुंजी को फिर से दबाया जाना कुछ इस तरह आउटपुट करेगा

    KeyPress event, serial 37, synthetic NO, window 0x3e00001,
    root 0x82, subw 0x0, time 28977858, (-419,294), root:(175,613),
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XmbLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

    कीकोड पर ध्यान दें जो कि रीमैप किया जाएगा।

  2. Xkbset उपयोगिता चलाएँ

    xkbset m

  3. एक्समॉडमैप उपयोगिता का उपयोग करके रीमैप।

    नीचे के मामले में मेनू कुंजी को दाएं माउस बटन पर रीमेक किया गया है।

    xmodmap -e "keycode 135 = Pointer_Button3"


मेरी स्क्रिप्ट देखें superuser.com/questions/313926/… लिनक्स पर माउस बटन के लिए कुंजियों का उपयोग करें। AHK के लिए वैकल्पिक?
रसो

4

मुझे लगता है कि आप इसे xmodmap और Pointer_Button1 कीमैप का उपयोग करके पूरा कर सकते हैं।

सटीक वर्तनी और कैपिटलाइज़ेशन के लिए फ़ाइल /usr/include/X11/keysymdef.h में देखें, लेकिन कीबोर्ड बटन को माउस बटन (1,2,3, आदि) में मैप करना संभव होना चाहिए, यहां तक ​​कि डबल क्लिक भी। हेडर फ़ाइल देखें, लाइन 460 या इसके निकट)

keysym W = Pointer_Button1

MIGHT काम करता है, जिससे W कुंजी बाईं माउस बटन के रूप में कार्य करती है। जब तक आप किसी भी डब्ल्यू का उपयोग नहीं करते, लेकिन आप के लिए जो भी काम करता है, मैं एक अलग कुंजी का उपयोग करने की सलाह दूंगा। (नहीं, मैं इसे स्वयं नहीं आजमाने जा रहा हूं, मुझे मेरी डब्ल्यू की जरूरत है!)

इसके अलावा xmodmap के लिए मैन पेज पर एक नज़र डालें, और निश्चित रूप से वर्तनी को सही करने के लिए /usr/include/X11/keysymdef.h की सामग्री। Xmodmap के लिए कीसम नामों का उपयोग करने के लिए XK_ उपसर्ग को छोड़ें।

मेरे डेबियन सिस्टम के लिए x11-proto-core-dev पैकेज में ऐसा लगता है कि (keyymdef.h) ... आप फ़ाइल और इसकी सामग्री को ऑनलाइन खोजना चाहते हैं, संदेह है कि आप सभी -देव फ़ाइलों को शामिल करना चाहते हैं बस एक हो जाओ। GIYF।

ऐसा करने के दूसरे तरीके के बारे में मेरे सिर के पीछे कुछ गुदगुदी, लेकिन अभी मेरे पास कुछ भी नहीं आ रहा है।

ओह! अपनी आवश्यकताओं के आधार पर, आप कीबोर्ड माउस एमुलेशन में देख सकते हैं, जिसमें संख्यात्मक कीपैड को पूर्ण रूप से चित्रित दो-बटन (नो स्क्रॉल व्हील!) माउस में बदल दिया जाता है।


1
पाठकों की जानकारी के लिए, "कीबोर्ड माउस एमुलेशन" के बारे में: en.linuxreviews.org/… इसे चालू करने के लिए कुंजी संयोजन कुछ समय पहले से डिफ़ॉल्ट रूप से अक्षम कर दिया गया है और अब इसकी आवश्यकता है Option XkbOptions "keypad:pointerkeys"। हिटिंग कीज़ इसे चालू करने का एकमात्र तरीका नहीं है: क्रंचबैंग.org / forums / viewtopic.php?id=27937 केxkbset m अनुसार ऐसा करता है , और गंदा टाइमआउट को नियंत्रित कर सकता है और इसे cmdline से बंद भी कर सकता है।
इम्ज़ - इवान ज़खरीयाशेव

3

अंतर्निहित "कीबोर्ड माउस इम्यूलेशन" मोड ऐसा कर सकता है और / पर विभिन्न माउस क्लिक और प्रेस (ड्रैग करने के लिए) के अनुकरण के लिए पूर्व-कॉन्फ़िगर कुंजी संयोजन है

(FYI करें: इसे चालू करने के लिए कुंजी संयोजन को कुछ समय पहले और अब आवश्यकता के अनुसार डिफ़ॉल्ट कीमैप से निकाल दिया गया हैOption XkbOptions "keypad:pointerkeys" ।)

कुंजी को हिट करना इस मोड को चालू करने का एकमात्र तरीका नहीं है:

xkbset m

यह http://crunchbang.org/forums/viewtopic.php?id=27937 के अनुसार करता है , और बुरा समय सीमा को नियंत्रित कर सकता है और इसे cmdline से बंद भी कर सकता है। बुरा समय समाप्त करने के लिए:

xkbset exp =m

इसलिए, xkbsetवास्तव में अधिक उपयोगी है (केवल इस मोड को चालू करने के लिए एक कुंजी होने के कारण), क्योंकि xkbsetपसंदीदा टाइमआउट आदि पर अधिक नियंत्रण देता है।

अंकों का प्रयोग किया जाता है। कुछ बुनियादी संयोजन ( http://en.linuxreviews.org/HOWTO_use_the_numeric_keyboard_keys_as_mouse_in_XOrg पर अधिक :

  • /, *, -के लिए कर रहे हैं का चयन बाईं, मध्य या सही बटन;
  • 5चयनित बटन के साथ क्लिक करने के लिए है ;
  • 0और चयनित बटन .को दबाने और जारी करने के लिए हैं (खींचने के लिए आदि)

"कीबोर्ड माउस इम्यूलेशन" को प्राप्त करने में आने वाली समस्याओं पर नोट्स हमेशा सक्षम

  1. मुझे हमेशा "कीबोर्ड माउस इम्यूलेशन" नहीं मिला। इसलिए मैंने ऐसा करने के लिए एक विशेष कुंजी (जैसे keypad:pointerkeys) पर भरोसा किया ।

  2. मुझे पता चला है कि Xfce इन सेटिंग्स के साथ, स्टार्टअप पर भी गड़बड़ कर रहा था, इसलिए यदि xkbset mXfce से पहले चलाया जाता है, तो सेटिंग सक्रिय नहीं है। इसलिए, मुझे अपनी समग्र इच्छा से मेल करने के लिए Xfce कॉन्फ़िगरेशन में एक सेटिंग को बदलना पड़ा, अर्थात्: Xfce सेटिंग्स: अभिगम्यता: माउस: सक्षम अनुकरण । (मेरे लिए इस तरह के Xfce विकल्प के अस्तित्व के बारे में जानने का स्रोत था: https://bugzilla.xfce.org/show_bug.cgi?id=3860 ।) इससे मदद मिली लगती है। (मैं अपने टचपैड को भी अक्षम कर रहा हूं xinput float ...; यह लिनक्स कंसोल के बीच स्विच करके गड़बड़ है, लेकिन कम से कम Xfce सेटिंग्स में इस डिवाइस को अक्षम करके फिर से काम किया जा सकता है।)

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