मेरे पास एक माउस है जो मैं सिर्फ बटनों के लिए उपयोग करता हूं। मैं केवल माउस के मूवमेंट इनपुट को निष्क्रिय करना चाहता हूं। शारीरिक रूप से सेंसर को कवर करने से काम नहीं चलता है।
मेरे पास एक माउस है जो मैं सिर्फ बटनों के लिए उपयोग करता हूं। मैं केवल माउस के मूवमेंट इनपुट को निष्क्रिय करना चाहता हूं। शारीरिक रूप से सेंसर को कवर करने से काम नहीं चलता है।
जवाबों:
आप उपयोग कर सकते हैं xinput।
>xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Mouse0 id=6 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Keyboard0
वहाँ आपको इस मामले में माउस का नाम माउस 0 मिलता है।
निम्न आदेश के साथ आप अपने माउस की गति को 100000 के कारक से धीमा कर देते हैं, जो तब मूल रूप से शून्य है।
xinput --set-prop 6 'Device Accel Constant Deceleration' 100000
या
xinput --set-prop Mouse0 'Device Accel Constant Deceleration' 100000
वापस करने के लिए आप उसी का उपयोग कर सकते हैं
xinput --set-prop Mouse0 'Device Accel Constant Deceleration' 1
मेरे माउस में 'डिवाइस एक्सेल कॉन्स्टेंट डिक्लेरेशन' गुण नहीं है। मैं अभी भी गति को अक्षम करने में सक्षम था
xinput set-prop 9 266 -1
xinput set-prop 9 269 0 1
और इसके साथ reenable
xinput set-prop 9 269 1 0
input set-prop 9 266 0.0
मैंने अपने बटनों को भी अक्षम कर दिया है
xinput set-button-map 9 0 0 0
डिवाइस 9 मेरा मित्सुमी इलेक्ट्रिक एप्पल ऑप्टिकल यूएसबी माउस है ।
उपकरण सूची
Device 'Mitsumi Electric Apple Optical USB Mouse':
Device Enabled (132): 1
Coordinate Transformation Matrix (134): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Accel Speed (266): -1.000000
libinput Accel Speed Default (267): 0.000000
libinput Accel Profiles Available (268): 0, 0
libinput Accel Profile Enabled (269): 0, 1
libinput Accel Profile Enabled Default (270): 1, 0
libinput Natural Scrolling Enabled (271): 0
libinput Natural Scrolling Enabled Default (272): 0
libinput Send Events Modes Available (250): 1, 0
libinput Send Events Mode Enabled (251): 0, 0
libinput Send Events Mode Enabled Default (252): 0, 0
libinput Left Handed Enabled (273): 0
libinput Left Handed Enabled Default (274): 0
libinput Scroll Methods Available (275): 0, 0, 1
libinput Scroll Method Enabled (276): 0, 0, 0
libinput Scroll Method Enabled Default (277): 0, 0, 0
libinput Button Scrolling Button (278): 2
libinput Button Scrolling Button Default (279): 274
libinput Middle Emulation Enabled (280): 0
libinput Middle Emulation Enabled Default (281): 0
Device Node (253): "/dev/input/event4"
Device Product ID (254): 1452, 772
libinput Drag Lock Buttons (282): <no items>
libinput Horizonal Scroll Enabled (255): 1
अगर मैं man 4 mousedrvसही ढंग से पढ़ूं, तो आप अपने xorg.conf के CorePointer सेक्शन में सेट कर सकते हैं,
Option "EmulateWheel" true
Option "EmulateWheelButton" 0
Option "EmulateWheelInertia" 10000
जो माउस व्हील बटन इवेंट्स में मूवमेंट्स को परिवर्तित करेगा, लेकिन जड़ता सेटिंग इसे कभी भी रजिस्टर करने के लिए असंवेदनशील बना देगा। आधुनिक प्रणालियों पर, यह मूस्रेड्रव के बजाय ईदेव है। यह भी xinput का उपयोग करके रनटाइम पर सेट किया जा सकता है, उदाहरण के लिए:
xinput --set-prop 17 'Evdev Wheel Emulation' 1
xinput --set-prop 17 'Evdev Wheel Emulation Button' 0
xinput --set-prop 17 'Evdev Wheel Emulation Inertia' 10000
जहां 17 आपका अपना डिवाइस नंबर होना चाहिए। मैं डिवाइस नाम से इस नंबर को प्राप्त करने के लिए एक फ़ंक्शन का उपयोग करता हूं, और इसे स्टार्टअप स्क्रिप्ट के दौरान $ डिवाइस-आईडी में संग्रहीत करता हूं।
set_device_id() {
device_id=$(xinput --list | grep -m 1 "$1")
device_id=${device_id##*id=}
device_id=${device_id%%[[:space:]]*}
}
यह दुर्भाग्य से डिवाइस के स्क्रॉल व्हील इनपुट को अक्षम करने का दुष्प्रभाव है।
xinput list 6(जहां6डिवाइस है) के साथ पाया जा सकता है । गुणों के बारे में दस्तावेज़ीकरण यहाँ पाया जा सकता है: x.org/wiki/Development/Documentation/PointerAcceleration