কমান্ড লাইনটি ব্যবহার করে আমি কীভাবে কোনও টাচপ্যাড অক্ষম করব?


39

টার্মিনাল কমান্ড ব্যবহার করে কোনও টাচপ্যাড অক্ষম করার কোনও উপায় আছে কি?

উত্তর:


55

টাচ প্যাড বন্ধ করতে:

synclient TouchpadOff=1

এটি আবার চালু করতে:

synclient TouchpadOff=0

সরল তবে বিন্দুতে যান।
অ্যাডে মালসাসা আকবর

7
আমার কম্পিউটারে কাজ করে না ...
ক্যাস্পার

আকর্ষণীয়, জানতে ভাল।
aleroxac

2
ডেল এক্সপিএস 13 এ আমার উবুন্টু 14.04 এলটিএসে ত্রুটি ছাড়াই কমান্ডটি চলেছিল তবে তার কোনও প্রভাব ছিল না।
আইজে কেনেডি

টগল সুন্দর হবে - আমি এটি একটি শর্ট কাট বা কিছু হিসাবে সেট আপ করতে চাই। আরও ভাল, যখন এটি ডক করা হয়েছে, আমি টাচপ্যাডটি বন্ধ করতে চাই
খ্রিস্টিয়ান বনজিওর্নো

22

আপনি চেষ্টা করতে পারেন এমন কমপক্ষে দুটি পদ্ধতি রয়েছে (যা আমি জানি)।

synclient

যদি আপনার ল্যাপটপ একটি সিন্যাপটিক্স (বা ALPS) টাচপ্যাড দিয়ে সজ্জিত থাকে তবে আপনি synclientইতিমধ্যে শাটুপস্কয়ারে উল্লিখিত হিসাবে ব্যবহার করতে পারেন । আমি উবুন্টু 14.04 চালাচ্ছি এবং আমার মেশিনে এটি ডিফল্টরূপে ইনস্টল করা হয়েছিল।

সিঙ্কিলিয়েন্ট ইনস্টল করা থাকলে পরীক্ষা করুন: synclient -V(এটির সংস্করণ নম্বরটি রিপোর্ট করা উচিত)

টাচপ্যাড চালু করুন: synclient TouchpadOff=0

টাচপ্যাড বন্ধ করুন: synclient TouchpadOff=1

আমি এটি নিজেই পরীক্ষা করে দেখিনি, তবে আপনার হাত যদি টাচ প্যাডের উপর নির্ভর করে আপনার মাউসটি সরানো না হয় তবে এটি সাহায্য করতে পারে।

পাম সনাক্তকরণ চালু করুন: synclient PalmDetect=1

পাম সনাক্তকরণ বন্ধ করুন: synclient PalmDetect=0

সাধারণভাবে আপনি নিজের সিনাপটিক্স টাচপ্যাডের যে কোনও সম্পত্তি কনফিগার করতে পারেন synclient property=value। যেখানে সম্পত্তি দেখানো উপলভ্য বৈশিষ্ট্যগুলির মধ্যে একটিsynclient -l

আরও পড়ার জন্য লিঙ্ক

উবুন্টু - কমিনিটি হেল্প উইকি - সিনাপটিক্স টাচপ্যাড

আর্চলিনাক্স - উইকি - টাচপ্যাড সিনাপটিক্স

উবুন্টুকে জিজ্ঞাসা করুন - আমি কীভাবে আমার সিঙ্কিলিয়েন্ট সেটিংস স্টিক করব? - উবুন্টু

xinput

আপনি যদি না চান বা সিঙ্কিলিয়েন্ট ব্যবহার করতে না পারেন তবে আপনিও ব্যবহার করতে পারেন xinput। পদ্ধতি কিছুটা অনুরূপ।

সমস্ত এক্সপুট ডিভাইস তালিকাভুক্ত করুন: xinput

আউটপুটটির অংশটি এরকম দেখতে পারে:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse           id=13   [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                  id=17   [slave  pointer  (2)]

এটি এই বিশেষ ক্ষেত্রে আমার টাচপ্যাডের আইডি = 17 রয়েছে এবং এর পুরো নাম "ETPS / 2 এলানটেক টাচপ্যাড"।

সম্পত্তি নির্ধারণের আদেশ xinput set-prop। টাচপ্যাড সক্ষম বা অক্ষম করার সম্পত্তি হ'ল Device Enabledতাই এটি সক্ষম বা অক্ষম করার জন্য টাইপ করুন:

টাচপ্যাড চালু করুন: xinput set-prop <id> "Device Enabled" 1( <id>আমার ক্ষেত্রে 17 টিতে আপনার ডিভাইস আইডি কোথায় )

টাচপ্যাড বন্ধ করুন: xinput set-prop <id> "Device Enabled" 0

পাম সনাক্তকরণ চালু করুন: xinput set-prop <id> "Palm Detection" 1

পাম সনাক্তকরণ বন্ধ করুন: xinput set-prop <id> "Palm Detection" 0

উপলভ্য বৈশিষ্ট্যগুলি জিজ্ঞাসা করার জন্য: xinput list-props <id>ওআর xinput list-props <full-name>, এটির সাথে যথেষ্ট মিল থাকতে হবে synclient -l

আরও পড়ার জন্য লিঙ্ক

উবুন্টু - উইকি - ইনপুট

বিঃদ্রঃ

মাধ্যমে বৈশিষ্ট্য নির্ধারণের যখন পারেন xinputবা synclientবৈশিষ্ট্য অন্যান্য সরঞ্জাম সেট নেই। তারা unityক্য-নিয়ন্ত্রণ-কেন্দ্রেও সেট করা হয়নি।


1
দ্বিতীয় উত্তরের জন্য ধন্যবাদ। synclientআমার জন্য কাজ করেনি, xinputকরেছে।
রবিন উইনস্লো

1
নোট করুন যে xinputআইডিগুলি পুনরায় আরম্ভের উপর পরিবর্তন করতে পারে। সুতরাং স্ক্রিপ্ট বা শর্টকাটে এই আইডির উপর নির্ভর করে কাজ করবে না।
লোড

synclientপুরোপুরি আর্চ লিনাক্সে কাজ করে। আপনাকে ধন্যবাদ , যাতে অনেক !!!
থিওডোর আর স্মিথ

এটা আমার জন্য এটি। বিশেষ করে, আমি রান প্রয়োজন আবিষ্কৃত xinput <enable/disable> <id>, যেমন সেটিং TouchpadOffমাধ্যমে synclientঅকার্যকর ছিল।
মাইকেল মোল

পরিচয় করানোর জন্য আপনাকে ধন্যবাদ xinput। আমি আমার বিল্টিন কীবোর্ড এবং ট্র্যাকপয়েন্টের বোতামগুলির সাথে কিছুটা আচার ছিলাম যাতে বাহ্যিক কীবোর্ড থেকে ইনপুটটিতে হস্তক্ষেপকারী খারাপ ইনপুটগুলি স্পষ্টতই প্রেরণ করা হত। এটি আমাকে বিল্টিন ডিভাইসগুলি অক্ষম করার অনুমতি দিয়েছে। চিয়ার্স! :)
সজাকোবি

4

synclientএবং xinputযদি আপনি জিনোম (বা unityক্য, দারুচিনি) পরিবেশ ব্যবহার করেন তবে কাজ করবে না, কারণ এটি সেটিংসকে ওভাররাইড করে দেবে, তাই আপনি যদি এই সেটিংসটি নিতে চান synclientবা xinputনিতে চান তবে আপনাকে প্রথমে এটি অক্ষম করতে হবে:

  1. ইনস্টল dconf-editorনা থাকলে ইনস্টল করুন:

    apt-get install dconf-editor
    
  2. চালান dconf-editor

    dconf-editor 
    
  3. ডিরেক্টরিটি খুলুন /org/gnome/settings-daemon/plugins/mouse/বা /org/cinnamon/settings-daemon/plugins/mouse/, এবং এর জন্য চেকবক্সটি খুলুন active

  4. logout অথবা reboot

এটি করা synclientবা xinputকাজ করা উচিত ।


1
  1. আপনার ইনপুট ডিভাইসগুলি তালিকাবদ্ধ করুন:

    xinput list
    

    আমার ক্ষেত্রে আমার এই তালিকা রয়েছে:

    Virtual core XTEST pointer                  id=4
    Logitech M510                               id=11   
    ETPS/2 Elantech Touchpad                    id=15
    
  2. আইডি পাস করে আপনার টাচপ্যাড অক্ষম করুন

    xinput set-prop 15 "Device Enabled" 0
    

ম্যানুয়ালি টাইপ করার সময় আপনি xinput enable [device]এবং xinput disable [device]সরাসরি ব্যবহার করতে পারেন । যদিও স্ক্রিপ্টিং set-prop [device] "Device Enabled" [value]করার সময়, ওয়ার্ল্ড পাইথন বিকাশকারী এর উত্তর হিসাবে , ব্যবহার করা কিছুটা সহজ হতে পারে।
hsandt

1

আমি কোডটির একটি অজগর টুকরো লিখেছি যাতে আপনি xinputসমস্ত ম্যানুয়াল কাজ না করে কৌশলটি ব্যবহার করতে পারেন । কপিলিফ্ট, এএস-আইএস, কোনও ওয়্যারেন্টি নেই, আপনার নিজের ঝুঁকিতে ব্যবহার করুন। আমার জন্য দুর্দান্ত কাজ করে: এবং আপনি যদি জিনোম ব্যবহার করছেন তবে এটির মতো একটি মূল শর্টকাটে মানচিত্র করুন CtrlShiftT

#!/usr/bin/python2
# -*- coding: utf-8 -*-
'''Program to toggle Touchpad Enable to Disable or vice-versa.'''

import commands
import re


def current_id():
    """ Search through the output of xinput and find the line that has the
    word TouchPad.  At that point, I believe we can find the ID of that device."""

    props = commands.getoutput("xinput").split("\n")
    match = [line for line in props if "TouchPad" in line]
    assert len(match) == 1, "Problem finding Touchpad string! %s" % match

    pat = re.match(r"(.*)id=(\d+)", match[0])
    assert pat, "No matching ID found!"

    return int(pat.group(2))


def current_status(tpad_id):
    """Find the current Device ID, it has to have the word TouchPad in the line."""

    props = commands.getoutput("""xinput list-props %d""" % tpad_id).split('\n')
    match = [line for line in props if "Device Enabled" in line]
    assert len(match) == 1, "Can't find the status of device #%d" % tpad_id

    pat = re.match(r"(.*):\s*(\d+)", match[0])
    assert pat, "No matching status found!"
    return int(pat.group(2))

def flop(tpad_id, status):
    """Change the value of status, and call xinput to reverse that status."""
    if status == 0:
        status = 1
    else:
        status = 0

    print "Changing Device #%d Device Enabled %d" % (tpad_id, status)
    commands.getoutput("""xinput set-prop %d "Device Enabled" %d""" % (tpad_id, status))

def main():
    """Get curent device id and status, and flop status value."""
    tpad = current_id()
    stat = current_status(tpad)
    flop(tpad, stat)

main()

0

জিনোমে, টাচপ্যাড টগল করার জন্য আমার ফাংশন কীটি কোনও কারণে কাজ করছে না, তাই আমি গেটস ব্যবহার করে একটি স্ক্রিপ্ট তৈরি করেছি।

  • সুবিধা: বিক্রেতা-নির্দিষ্ট নয়
  • অসুবিধা: জিনোমে, টাচপ্যাড ক্লিকগুলি (ট্যাপ না করা) এখনও কিছু কারণে পরিচালিত হয়, যেখানে xinputসমাধানটি প্রত্যাশার সাথে সাথে টাচপ্যাডকে সম্পূর্ণ নিষ্ক্রিয় করে দেয়। যদি আমার মতো হয় তবে আপনার একমাত্র সমস্যা হ'ল আপনি টাইপ করার সময় অসাবধানতার সাথে কার্সারটি সরিয়ে দিচ্ছেন, যদিও এটি যথেষ্ট হবে।

toggle_touchpad_gsettings.py

#!/usr/bin/python3.6
import sys
import subprocess

gsettings_schema, gsettings_key = "org.gnome.desktop.peripherals.touchpad", "send-events"

def get_touchpad_send_events():
    send_events_value = subprocess.check_output(["gsettings", "get", gsettings_schema, gsettings_key])
    return send_events_value.strip()

def toggle_touchpad():
    # string returned from get is a repr including quotes,
    # but string sent with set does not need to have quotes
    if get_touchpad_send_events() == b"'enabled'":
        newval = 'disabled'
    else:
        newval = 'enabled'
    subprocess.Popen(["gsettings", "set", gsettings_schema, gsettings_key, newval])
    print(f"Set {gsettings_schema}:{gsettings_key} to {newval}")

def main():
    toggle_touchpad()

if __name__ == '__main__':
    main()

এটি ইউনিটিতেও কাজ করা উচিত, তবে আমি পরীক্ষা করিনি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.