মাউস বাম-হাত এবং টাচপ্যাড ডান-হাত করুন


10

আমি দেখতে পাচ্ছি যে আমি একটি প্যানেলে সমস্তকে মাউস এবং টাচপ্যাড কনফিগার করতে পারি (উবুন্টু 13.10, ডিফল্ট, জিনোম)। যা কিছুটা বাড়িয়ে দিতে হবে। যথা, আমি টাচপ্যাডটি আলাদাভাবে কনফিগার করতে চাই তারপরে মাউস এবং ...

আমার যখন একটি (ইউএসবি) মাউস সংযুক্ত থাকে আমি এটিকে সাধারণত বাম হাত ব্যবহার করি। অতএব আমি বোতামগুলি বাম হাতে স্যুইচ করি। তবে আমি যখন টাচপ্যাডটি ব্যবহার করি তখন আমি এই জাতীয় কনফিগারেশনটি কিছুটা হারিয়ে ফেলেছি। সুতরাং আমি এটি ডানহাত পেতে চাই।

নিম্নলিখিতগুলি অর্জন করার কোনও উপায় আছে: যখন আমি কোনও মাউস প্লাগ করি (যথাক্রমে যখন এটি সনাক্ত হয়) তখন স্বয়ংক্রিয়ভাবে বাম-হাতের দিকে স্যুইচ হয় এবং যখন আমি এটি আনপ্লাগ করি, তখন স্বয়ংক্রিয়ভাবে ডানদিকে স্যুইচ করুন?

উত্তর:


10

আমি আপনার হতাশাকে বুঝতে পারি, তবে এই সমস্যাটি খুব সহজেই xinputসরঞ্জামের সাহায্যে সমাধান করা যেতে পারে ।

আপনার ইউএসবি মাউসে প্রথমে প্লাগ করুন, তারপরে নিম্নলিখিত কমান্ডটি চালান:

xinput list

idআপনার মাউসটি দেখতে উপরের কমান্ডের আউটপুট এটির মতো হতে পারে:

xinput | বিড়াল
Irt ভার্চুয়াল কোর পয়েন্টার আইডি = 2 [মাস্টার পয়েন্টার (3)]
↳ irt ভার্চুয়াল কোর এক্সটিএসটি পয়েন্টার আইডি = 4 [স্লেভ পয়েন্টার (2)]
↳ ↳ SynPS / 2 Synaptics টাচপ্যাড আইডি = 14 [স্লেভ পয়েন্টার (2)]
↳ ↳ ইউএসবি মাউস আইডি = 11 [স্লেভ পয়েন্টার (2)]
Irt ভার্চুয়াল কোর কীবোর্ড আইডি = 3 [মাস্টার কীবোর্ড (2)]
    ...

উপরের উদাহরণে ইউএসবি মাউসটি রয়েছে id=11। আমরা idএটি নিম্নলিখিত কমান্ডে ব্যবহার করব যা কেবলমাত্র ইউএসবি মাউসের (এবং টাউচপ্যাডের জন্য নয়) বাম হাতে রেখে যাওয়া বোতামগুলি অদলবদল করবে:

xinput set-button-map 11 3 2 1

সাধারণভাবে:

এক্সিনপুট সেট-বোতাম-মানচিত্র আইডি 3 2 1

পরিবর্তনটি ফিরিয়ে আনতে, ব্যবহার করুন:

এক্সিনপুট সেট-বোতাম-মানচিত্র আইডি 1 2 3

স্থায়ীভাবে পরিবর্তনটি করতে, স্টার্টআপ অ্যাপ্লিকেশনগুলিতে নিম্নলিখিত কমান্ডটি যুক্ত করুন ( স্টার্টআপ অ্যাপ্লিকেশনগুলির জন্য ড্যাশ অনুসন্ধান করুন ):

sh -c "এক্সিনপুট সেট-বোতাম-মানচিত্র আইডি 3 2 1"

হালনাগাদ:

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

আইডির জন্য `/ usr / bin / xinput তালিকায় / বিন / গ্রেপ ' ইউএসবি মাউস ' | / বিন / গ্রেপ -o [0-9] [0-9] `; এক্স-ইনপুট সেট-বোতাম-মানচিত্র করুন $ আইডি 3 2 1; সম্পন্ন;

উপরে বর্ণিত স্টার্টআপ অ্যাপ্লিকেশনগুলিতে এটি প্যাক করুন আপনি শেষ পর্যন্ত পাবেন:

sh -c "আইডিটির জন্য` / usr / bin / xinput তালিকায় | / বিন / গ্রেপ ' ইউএসবি মাউস ' | / বিন / গ্রেপ -o [0-9] [0-9] `; এক্স-ইনপুট সেট-বোতাম-মানচিত্র করুন $ আইডি 3 2 1; সম্পন্ন; "

2
আমি জানি না, আমার যদি আপনার পোস্টটি সম্পাদনা করা উচিত কিনা। আপনার পদ্ধতির আমাকে সঠিক দিকনির্দেশনা দিয়েছিল তবে সমস্যাটি হ'ল / পুনরায় সূচনা হতে পারে মাউসের আইডি পরিবর্তন করতে পারে। অতএব আমি এটিকে পরিবর্তিত করেছি sh -c "for id in '/usr/bin/xinput list | /bin/grep 'Razer' | /bin/grep -o [0-9][0-9]'; do xinput set-button-map $id 3 2 1; done;"এবং এটি কাজ করে (সম্ভবত একটিকে সঠিক হাইফেনগুলি সম্পর্কে যত্ন নেওয়া উচিত)। ইঙ্গিত জন্য Thx।
লিও

@LoO আমার ক্ষেত্রে একটি রিবুট, মাউসের আইডি পরিবর্তন করে না। আমি আরও ইঁদুর দিয়ে বা ইউএসবি পোর্টের অবস্থান পরিবর্তন করার জন্য পরীক্ষা করিনি।
রাদু রেডানু

@LoO যাইহোক, আপনার ধারণাটি খুব ভাল, সুতরাং এগিয়ে যান, দয়া করে উত্তরটি সম্পাদনা করুন। যদি না হয় তবে আমি এটি পরে করব will
রাদু রেদেনু

8

রাদু রেদেনুর উত্তরের চেয়ে আরও সহজ উপায় আছে । xinputইনপুট ডিভাইসের নামটিকে তার সংখ্যাসূচক আইডির বিকল্প হিসাবে গ্রহণ করে। যেহেতু আপনার ইউএসবি মাউসটি সম্ভবত উদারভাবে চিকিত্সা করা হয়, সম্ভবত এটির নাম সম্ভবত USB Mouse। অতএব আপনি সম্ভবত এমনকি চালানোর জন্য প্রয়োজন হবে না xinput list

সুতরাং আপনার xinput set-button-map, এই সংখ্যার আইডির জায়গায় এই নামটি যুক্ত হয়ে যায়:

xinput set-button-map "USB Mouse" 3 2 1

এটি সংখ্যার আইডি উপায়টি ব্যবহার করার সময় যেমন বাম-হাউস মাউস তৈরি করে একই জিনিসটি স্থান পায় এবং একই জিনিস অর্জন করা উচিত । (এবং এর সাথে প্রতিস্থাপন করা এখনও এটি ডান-হাতের মাউস হিসাবে স্যুইচ করতে কাজ করবে))xinput set-button-map id 3 2 13 2 13 2 11 2 3

এটির সুবিধাটি রয়েছে যে, এটি প্রাথমিকভাবে কাজ করে তবে, দীর্ঘ, জটিল কমান্ড ব্যবহার করে ডিভাইসের আইডি নম্বর না পেয়েই এটি রিবুটগুলি জুড়ে কাজ চালিয়ে যাবে।


1
এই উত্তরটি আরও উন্নয়নের দাবিদার।
মফিস্টো

আমার ক্ষেত্রে, আমার কাছে একটি ওয়্যারলেস মাউস + কীবোর্ড রয়েছে, সুতরাং xinput list"[স্লেভ পয়েন্টার (২)]]" না বলে অন্যটি একই নাম ("২.৪ জি ​​ওয়্যারলেস কীবোর্ড এবং মাউস") সহ দুটি এন্ট্রি দেখায় "[স্লেভ কীবোর্ড (3 )] "। সুতরাং আপনার সমাধানের সাথে আমার এই ত্রুটি রয়েছে "" 2.4G ওয়্যারলেস কীবোর্ড এবং মাউস "নামে একাধিক ডিভাইস রয়েছে" " এই মুহুর্তে, আমি রাডুর সমাধান যুক্ত ব্যবহার করছি grep 'slave pointer'। আমি অবাক হয়েছি যে যদি এক্সপুট কোনওভাবে নির্দিষ্ট করতে দেয় তবে আমরা এই সমস্ত কিছু না করে পয়েন্টারের সাথে উল্লেখ করছি।
মাটিআসেলাস্কো

1

আমি দেখতে পেয়েছি যে অন্য উত্তরের স্টার্টআপ কমান্ডটি কেবল তখনই কাজ করে যদি আইডিটি দুটি অঙ্কের সংখ্যা হয়। এখানে আমার পরিবর্তনগুলি যা এক এবং দুটি সংখ্যার উভয়ের জন্য কাজ করা উচিত:

ইন প্রারম্ভ অ্যাপ্লিকেশন

bash -c "for id in `/usr/bin/xinput list | /bin/grep 'USB Mouse' | /bin/grep -o id=[0-9][0-9]*`; do xinput set-button-map ${id:3} 3 2 1; done;"

0
device_id=$(/usr/bin/xinput list \
            | /bin/grep 'slave  pointer' \
            | /bin/grep 'Wireless Keyboard&Mouse' \
            | tr " " "\n" \
            | /bin/grep "id=" \
            | /bin/grep -o [0-9][0-9]* \
        )
/usr/bin/xinput set-button-map $device_id 3 2 1 

এখানে আরও একটি ভার্বোজের সমাধান যা দুটি সমস্যার সমাধান করে:

  • এটি যেকোন সংখ্যক সংখ্যক ডিভাইস আইডির জন্য কাজ করে (@ আরবিবি সমাধানের মতো, তবে কিছুটা আলাদা লেখা)
  • ডিভাইসের নামটি সদৃশ হতে পারে বলে বিবেচনা করে। আমার ক্ষেত্রে, আমার কাছে একটি ওয়্যারলেস মাউস + কীবোর্ড রয়েছে, সুতরাং xinput list"[স্লেভ পয়েন্টার (২)]]" না বলে অন্যটি একই নাম ("২.৪ জি ​​ওয়্যারলেস কীবোর্ড এবং মাউস") সহ দুটি এন্ট্রি দেখায় "[স্লেভ কীবোর্ড (3 )] "। সুতরাং @ ব্রিডস্ট্রমের সমাধানের সাথে আমার এই ত্রুটিটি ছিল "" ২.৪ জি ​​ওয়্যারলেস কীবোর্ড ও মাউস 'নামে একাধিক ডিভাইস রয়েছে। ", @ রাদু রেডানু সলিউশনের সাথে for, মাউসের জন্য একটি এবং কীবোর্ডের জন্য একটি দুটি আইডি দিয়ে পুনরুক্তি করা হচ্ছে "ডিভাইসে কোনও বোতাম নেই" দ্বিতীয় সহ ত্রুটি বার্তা।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.