টাচস্ক্রিন ইনপুট ঘোরান না: লেনোভো যোগ 13 / যোগ 2 প্রো


8

ক্রিসমাসের জন্য একটি লেনোভো যোগ 13 পাওয়ার পরে, আমি উবুন্টুর সাথে তার অভিনয় দেখে খুশি হয়েছি। প্রদর্শন সেটিংস মেনুতে বা টাইপ করে উদাহরণস্বরূপ xrandr -o invertedটার্মিনালটিতে প্রদর্শন ওরিয়েন্টেশনটি পরিবর্তন করা সহজ । তবে, এগুলি টাচস্ক্রিনের ইনপুটটি ঘোরান না (বা — কম গুরুত্বপূর্ণ — টাচপ্যাড)।

আমি এই সমস্যার সমাধানের জন্য চারদিকে নজর রেখেছি এবং দুটি আশাব্যঞ্জক উত্স পেয়েছি।
(1) http://cc.oulu.fi/~rantalai/synaptics/ । এখানে প্যাকেজ ইনস্টল করা এবং প্রস্তাবিত আদেশগুলি চালানো ডিসপ্লে এবং টাচপ্যাড ইনপুটকে ঘোরান (তবে টাচস্ক্রিনের মতো নয়)।
(২) http://www.elfsternberg.com/2013/05/25/thinkpad-yoga-ubuntu-12/ । এই ওয়েবসাইটটি একটি ইনপুট প্যাকেজ আপডেট করার প্রস্তাব দিয়েছে, যা আমি চেষ্টা করি নি।


সমস্যা (এবং সমাধান) যোগ 2 প্রো

হতে পারে আপনি এই স্ক্রিপ্টটির সাথে অটো- রোটেশনটিও
rubo77

উত্তর:


8

উবুন্টু উইকি: এক্স - ইনপুট সমন্বিত রূপান্তরে সহায়ক তথ্যটি পড়ে আমি আমার প্রশ্নের সরাসরি উত্তর পেয়েছি ।

এই কমান্ডগুলি ইনপুট ডিভাইস এবং প্রদর্শনের ঘোর সারিবদ্ধ করার জন্য ব্যবহার করা যেতে পারে:

  1. প্রথম কমান্ড প্রদর্শনটি ঘোরায়, যেখানে বাম, ডান, স্বাভাবিক বা উল্টানো যাবে:
    xrandr -o <orientation>

  2. ইনপুট ডিভাইসটি পুনরায় তৈরি করুন:
    xinput set-prop '<device name>' 'Coordinate Transformation Matrix' <matrix-elements-rowwise>

দ্বিতীয় কমান্ড ইনপুট ডিভাইস remaps (যে, টাচপ্যাড বা টাচস্ক্রীন) যেখানে <matrix-elements-rowwise>হয় 0 -1 1 1 0 0 0 0 1, 0 1 0 -1 0 1 0 0 1, 1 0 0 0 1 0 0 0 1, অথবা -1 0 1 0 -1 1 0 0 1; উপরের দিকনির্দেশনার সাথে সম্পর্কিত।

টাচপ্যাড এবং টাচস্ক্রিনের নামগুলি পাওয়া যেতে পারে এবং এটির সাথে xinput listপুরোপুরি অক্ষম করা যায় xinput disable <device-name>। পরবর্তীকালে, xinput enable <device-name>ইনপুট ডিভাইসটি পুনরায় সক্ষম করবে।

আমার ক্ষেত্রে, এবং সম্ভবত যোগ 13 সহ অন্যদের জন্য (যোগ 2 প্রো-তেও রয়েছে), টাচস্ক্রিনটি বলা হয় ELAN Touchscreenএবং টাচপ্যাড SynPS/2 Synaptics TouchPad

এইভাবে, আমি rotate-inverted.shনীচের বিষয়বস্তু সহ আমার হোম ডিরেক্টরিতে একটি শর্ট স্ক্রিপ্ট রেখেছি :

    #! / বিন / ব্যাশ
    # এই স্ক্রিপ্টটি স্ক্রিনটি এবং টাচস্ক্রিন ইনপুট 180 ডিগ্রি ঘোরায়, টাচপ্যাড অক্ষম করে এবং ভার্চুয়াল কীবোর্ড সক্ষম করে
    xrandr -o বিপরীত
    এক্সপুট সেট-প্রপ 'ইলান টাচস্ক্রিন' 'সমন্বয় রূপান্তর ম্যাট্রিক্স' -১ 0 1 0 -1 1 0 0 1
    xinput 'SynPS / 2 Synaptics টাচপ্যাড' অক্ষম করে
    বোর্ডে &

তারপরে আমি স্ক্রিপ্টটি সম্পাদনযোগ্য করে দিয়েছি

chmod u+x rotate-inverted.sh

এবং সিস্টেম সেটিংস -> কীবোর্ডের~/rotate-inverted.sh কীবোর্ড শর্টকাট Ctrl+ Alt+ Iএ কমান্ডটি বরাদ্দ করা হয়েছে ।

আমি লগ আউট এবং আবার লগ ইন করার পরে, আমি সেই শর্টকাট টিপে কীবোর্ডটি ঘোরাতে সক্ষম হয়েছি।

আমি অন্যান্য ঘূর্ণন অবস্থানের জন্য একই ধরণের কাজটি করেছি, কমান্ডগুলি ব্যবহার করে xinput enable 'SynPS/2 TouchPad'এবং এর killall onboardপরিবর্তে xinput disable 'SynPS/2 TouchPad'এবং এর onboard &জন্য rotate-normal.sh

এই থ্রেডের আরও কয়েকজন
যোগব্যায়ামের অতিরিক্ত বোতামগুলিতে যেমন লক বোতাম - যেমন যোগের অবস্থান পরিবর্তন করার পরে সেগুলি স্বয়ংক্রিয়ভাবে সম্পাদন করার জন্য এই জাতীয় স্ক্রিপ্টগুলি বরাদ্দ করার বিষয়ে আলোচনা করেছেন ; তবে আমি কীভাবে এটি করব তা নিশ্চিত ছিলাম না।


আপনার বিস্তারিত কাজের জন্য ধন্যবাদ। আমি ভাবছিলাম যে আপনি যদি এমন কোনও গবেষণা জুড়ে এসেছিলেন যা এই পুনর্গঠনটি তাত্ক্ষণিকভাবে ঘটে যায় তবে (অ্যাক্সিলোমিটার ব্যবহার করে, আমি অনুমান করছি) কীভাবে এই বিষয়ে কথা বলা হয়েছিল?
ওয়ান

এটি আমার যোগ 2 প্রোতেও নিখুঁত কাজ করে! ব্যবহারকারী 267578 দ্বারা নীচে বর্ধিত স্ক্রিপ্ট নিখুঁত কাজ করে! লেনোভো যোগ 2 প্রো
রুবু 77

আপনার স্ক্রিপ্টটি এখানে ম্যাপ করার জন্য কী কীভাবে সঠিক কী ব্যবহার করবেন তা আপনি খুঁজে পেতে পারেন ?
রুবু 77

4

আমি আরও কয়েকটি লাইন যুক্ত করেছি, স্ক্রিপ্টের দ্বিতীয় রানটি স্ক্রিনটি স্বাভাবিক অবস্থায় ফিরে আসবে এবং টাচপ্যাড সক্ষম করবে, আইডিয়াপ্যাড 2 প্রো এর সাথে পরীক্ষিত। যাইহোক, আমি স্ক্রিপ্টের জন্য লঞ্চটি পাশের প্যানেলে রেখেছিলাম হাওটো: নতুন লঞ্চার

অ্যাক্সিলোমিটার এখনও কার্নেলে সমর্থিত নয়, তবে সম্ভবত পরবর্তী প্রকাশে কিছু আসছে something

স্ক্রিপ্ট তৈরি করুন /usr/local/bin/rotate-screen.sh

#!/bin/bash
# This script rotates the screen and touchscreen input 180 degrees, disables the touchpad, and enables the virtual keyboard
# And rotates screen back if the touchpad was disabled

isEnabled=$(xinput --list-props 'SynPS/2 Synaptics TouchPad' | awk '/Device Enabled/{print $NF}')

if [ $isEnabled == 1 ] 
then
    echo "Screen is turned upside down"
    xrandr -o inverted
    xinput set-prop 'ELAN Touchscreen' 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1
    xinput disable 'SynPS/2 Synaptics TouchPad'
    # Remove hashtag below if you want pop-up the virtual keyboard  
    # onboard &
else
    echo "Screen is turned back to normal"
    xrandr -o normal
    xinput set-prop 'ELAN Touchscreen' 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
    xinput enable 'SynPS/2 Synaptics TouchPad'
    # killall onboard 
fi

এবং এটিকে কার্যকর করার অধিকার দিন:

sudo chmod +x /usr/local/bin/rotate-screen.sh

1
দুর্দান্ত কাজ, আমি এখানে আপনার স্ক্রিপ্টটি বাড়িয়েছি: gist.github.com/rubo77/daa262e0229f6e398766
রুও77

ধন্যবাদ! দুর্দান্ত কাজ করে। এটি ব্যবহার করা আরও সহজ করার জন্য আমি একটি লঞ্চার তৈরি করেছি।
গিলিয়াম

1

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


0

একটি সমাধান ছাড়া xrandr(যা ওয়েল্যান্ডে কাজ করে না)

ওয়েল্যান্ডল্যান্ডের সাথে উবুন্টু 19.04 এর সমাধানটি হ'ল বা rotate-monitorকিছু কি-বাইন্ডিংয়ের কীটি সেট করা gsettingsবা dconf-editor

উদাহরণস্বরূপ, নিম্নলিখিত কমান্ডটি Ctrl+F8ঘড়ির কাঁটার বিপরীতে পর্দাটি ঘোরানোর কারণ করবে :

$ gsettings set org.gnome.mutter.keybindings rotate-monitor "['XF86RotateWindows', '<Control>F8']"

এটি ব্যবহারকারীর লক্ষ্য ওরিয়েন্টেশন নির্দিষ্ট করার অনুমতি দেয় না, তবে কেবল পছন্দসই প্রবণতাটি না পৌঁছানো পর্যন্ত পর্দাটি ঘোরানোর জন্য।

(মূল পোস্ট এখানে: https://unix.stackexchange.com/a/465395/20661 )

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