আমি কীভাবে ইউনিটিতে স্বেচ্ছাসেবক ডিফল্ট মাল্টিটচ অঙ্গভঙ্গি অক্ষম করতে পারি?


22

আমি একটি ম্যাজিক ট্র্যাকপ্যাড সহ উবুন্টু ১১.০৪- তে একটি কাস্টম টাচজিগ মাল্টিটুচ অঙ্গভঙ্গি সেটআপ ব্যবহার করছি । যেহেতু ডিফল্ট অঙ্গভঙ্গিগুলি (যেমন 3-আঙুলের ট্যাপ এবং উইন্ডো সরিয়ে নিতে টানা, ড্যাশ প্রকাশের জন্য 4 আঙুলের ট্যাপ ইত্যাদি) ityক্যতে স্পষ্টতই হার্ডকোডযুক্ত, তাই আমি তাদের কাছে কোনও কাস্টম টাচ-জিগ ক্রিয়া বরাদ্দ করতে অক্ষম এবং কিছু ডিফল্ট অঙ্গভঙ্গি (যে আমি খুব বেশি ব্যবহার করার ইচ্ছা করি না) যদি মাঝে মাঝে আমার অনুরূপ কাস্টম-বরাদ্দকৃত সাথে মিশে যাই এবং দুর্ঘটনার দ্বারা ট্রিগার হয়ে যায়।

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


1
আপনি কি কেবল উচ্চারণ আনইনস্টল করে টাচগিজ রাখতে পারেন?
দেশগুয়া

1
টাচজিগ উচ্চ-গিজ ব্যবহার করে, তাই না, কোনও দূরবর্তী ব্যবহারিক অর্থে নয়।
মিগুনগুলি

আমি সন্দেহ করি আপনি /etc/ginn/wishes.xML এ এই ক্রিয়াগুলি কনফিগার করতে পারেন (আমি এখন মোবাইলে আছি, এখনই পরীক্ষা করতে পারছি না)
দেশগুয়া

উত্তর:


16

উবুন্টু 12.10 এর জন্য ডমাস্টার উত্তরের একটি আপডেট ।

Ityক্য উত্স কোডটি স্পষ্টতই পরিবর্তিত হয়েছে, সুতরাং Unক্য 8.৮.০ তে এটি কীভাবে অর্জন করা যায় তা এখানে। ইউনিটির উত্স কোড ডাউনলোড করার পদক্ষেপগুলি আগের মতোই রয়েছে (আমি কুলানো এবং ডমাস্টারের স্নিপেট পেস্ট করব):

sudo apt-get build-dep unity
cd /tmp  #It can be done somewhere else, feel free to change the base location.
mkdir unity
cd unity
apt-get source unity

এই মুহুর্তে, সম্পাদনা করা ফাইলটি কেবলমাত্র /tmp/unity/unity-6.8.0/plugins/unityshell/src/unityshell.cpp

পদ্ধতিটি সন্ধান করুন UnityScreen::InitGesturesSupport()(6.ক্য 6.8.0 এর জন্য 3368 লাইন)।

তারপরে, অঙ্গভঙ্গি_সুব_লাঞ্চার দিয়ে শুরু হওয়া সমস্ত লাইনের মত মন্তব্য করার জন্য এটি মন্তব্য করুন:

void UnityScreen::InitGesturesSupport()
{
  std::unique_ptr<nux::GestureBroker> gesture_broker(new UnityGestureBroker);
  wt->GetWindowCompositor().SetGestureBroker(std::move(gesture_broker));
  /*
  gestures_sub_launcher_.reset(new nux::GesturesSubscription);
  gestures_sub_launcher_->SetGestureClasses(nux::DRAG_GESTURE);
  gestures_sub_launcher_->SetNumTouches(4);
  gestures_sub_launcher_->SetWindowId(GDK_ROOT_WINDOW());
  gestures_sub_launcher_->Activate();

  gestures_sub_dash_.reset(new nux::GesturesSubscription);
  gestures_sub_dash_->SetGestureClasses(nux::TAP_GESTURE);
  gestures_sub_dash_->SetNumTouches(4);
  gestures_sub_dash_->SetWindowId(GDK_ROOT_WINDOW());
  gestures_sub_dash_->Activate();

  gestures_sub_windows_.reset(new nux::GesturesSubscription);
  gestures_sub_windows_->SetGestureClasses(nux::TOUCH_GESTURE
                                         | nux::DRAG_GESTURE
                                         | nux::PINCH_GESTURE);
  gestures_sub_windows_->SetNumTouches(3);
  gestures_sub_windows_->SetWindowId(GDK_ROOT_WINDOW());
  gestures_sub_windows_->Activate();
  */
}

ডোমস্টারের নির্দেশাবলী অনুসরণ করে আবার buildক্য তৈরি করুন

cd /tmp/unity/unity-6.8.0
dpkg-buildpackage -us -uc -nc
cd ..
sudo dpkg -i *deb

আবার ভয়েলা! লগআউট এবং লগ ইন ফিরে।


কীভাবে বর্তমান unityক্যে এটি কাজ করবে .2.২.১?
plopp

এই উত্তরটি এখনও ইউনিটির .2.২.২ এর জন্য 100% বৈধ (তাই আমি ধরে নিচ্ছি যে এটি 7.2.1 এর জন্যও বৈধ)। আমি এখনই বিল্ডিং করছি, আবার কী হবে তা আপডেট করব। একবার হয়ে গেলে এবং পুনরায় বুট করা স্পর্শ করুন।
এন্ডোফেজ

1
ট্রাস্টি এবং জেনিয়ালের মাঝে একদা, ইউনিটি অঙ্গভঙ্গি অক্ষম করার সেটিংস dconf এ যুক্ত করা হয়েছে, এর অধীনে তালিকাভুক্ত করা হয়েছে com.canonical.unity.gestures। যদি উইলিতেও পাওয়া যায় তবে আমি তা মনে করি না; আমি কেবল ইতিবাচক যে এটি বিশ্বাসযোগ্য নয়, এবং জেনিয়ালে রয়েছে।
কেভিন

উবুন্টু 16: dpkg-buildpackage -us -uc -ncত্রুটিগুলি সহ প্রস্থান করে। error: debian/rules build gave error exit status 2... The X server was not able to run in time ....recipe for target 'tests/CMakeFiles/run-test-switcher-controller-slow-headless' failed
ম্যাট

11

দেখা যাচ্ছে যে unityমাল্টি টাচ এবং অঙ্গভঙ্গিগুলি সম্পূর্ণরূপে পরিচালনা করা প্যাকেজটিকে প্যাচ করা এত কঠিন নয় hard প্যাচিংয়ের জন্য ধাপে ধাপে নির্দেশাবলী এখানে দেওয়া হল unity-4.24.0

একটি কমান্ড লাইনে, প্রবেশ করুন:

sudo apt-get build-dep unity
cd /tmp  #It can be done somewhere else, feel free to change the base location.
mkdir unity
cd unity
apt-get source unity

এই মুহুর্তে, ফাইলের নিম্নলিখিত 2 লাইন মন্তব্য করুন /tmp/unity/unity-4.24.0/plugins/unityshell/src/unityshell.cpp:

GeisAdapter::Default()->Run();
gestureEngine = new GestureEngine(screen);

এবং ফাইলের নিম্নলিখিত 4 লাইন /tmp/unity/unity-4.24.0/plugins/unityshell/src/Launcher.cpp:

GeisAdapter& adapter = *(GeisAdapter::Default());
adapter.drag_start.connect(sigc::mem_fun(this, &Launcher::OnDragStart));
adapter.drag_update.connect(sigc::mem_fun(this, &Launcher::OnDragUpdate));
adapter.drag_finish.connect(sigc::mem_fun(this, &Launcher::OnDragFinish));

উত্স কোডটি রয়েছে C++, সুতরাং একটি লাইনের মন্তব্য লাইনের //শুরুতে যুক্ত করে সম্পন্ন করা হয় । উদাহরণস্বরূপ, লাইন

GeisAdapter::Default()->Run();

হয়ে

//GeisAdapter::Default()->Run(); .

কমান্ড লাইনে ফিরে আসুন:

cd unity-4.24.0
dpkg-buildpackage -us -uc -nc
cd ..
sudo dpkg -i *deb

এট ভয়েলা!

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


3

12.04 এ সর্বশেষ unityক্য (5.18.0) এ করতে আপনাকে কিছুটা ভিন্ন কোড লাইন মন্তব্য-আউট করতে হবে।

প্লাগইনস / unityক্যশেল / এসসিআর / লঞ্চার.সিপি:

// GeisAdapter& adapter = GeisAdapter::Instance();
// adapter.drag_start.connect(sigc::mem_fun(this, &Launcher::OnDragStart));
// adapter.drag_update.connect(sigc::mem_fun(this, &Launcher::OnDragUpdate));
// adapter.drag_finish.connect(sigc::mem_fun(this, &Launcher::OnDragFinish));

প্লাগইনস / unityক্যশেল / এসসিআর / unityক্যশেল.cpp এ:

// geis_adapter_.Run();
// gesture_engine_.reset(new GestureEngine(screen));

2

দ্বিতীয় চেষ্টা

dinegri যে সুপারিশ '[T] হে নিষ্ক্রিয় তিন ঠারে, এটি [হয়] প্রয়োজনীয় ইনস্টল করা আছে [আপনি] ccsm, [এবং তারপর] অক্ষম "ইউনিট এমটি দখল হ্যান্ডলগুলি" হিসাবে "ভালবাসে হ্যান্ডলগুলি" জানি' এখানে

তবে এটি এখনও আমাদের চারটি আঙুলের অঙ্গভঙ্গি দিয়ে ফেলেছে।

প্রথম চেষ্টা

ইউটিউচের জন্য কনফিগারেশন ফাইলটি /etc/ginn/wishes.xml। সুতরাং আপনি এই ফাইলটি সম্পাদনা করতে পারেন এবং আপনি চান না এমন ক্রিয়াগুলি মুছে ফেলতে (বা মন্তব্য করতে)। তারপরে টাচজিগ দ্বন্দ্ব ছাড়াই কাজটি করত।

উল্লেখ

PS: সমাধানটি পরীক্ষা করতে আমি এখানে আপনার সমস্যার পুনরুত্পাদন করতে পারিনি। আমি এটার জন্য দুঃখিত.


এটি জ্বিনের জন্য কনফিগারেশন ফাইল, এটি একটি অঙ্গভঙ্গি ইনজেক্টর, যার কার্যকারিতা টাচজিগের সাথে ওভারল্যাপ হয়। এর কনফিগারেশন ফাইলের পরিবর্তনগুলি কেবল তখনই কার্যকর হবে যখন জিন ডেমন চলমান, যেহেতু আমি টাচজিগ ব্যবহার করছি, এটি সাধারণত হয় না। টাচéগের পরিবর্তে জ্বিন ব্যবহার করার সম্ভাবনাটি মনে রেখে, আমি কিছু ডিফল্ট Unক্য অঙ্গভঙ্গিগুলি জ্বিন কনফিগারেশন ফাইলটিতে মন্তব্য করে এবং জ্বিন চালিয়ে চেষ্টা করেছিলাম, তবে এটি কার্যকর হয় না।
মিগুনগুলি

আমি উত্তর আপডেট করেছি।
দেশগুয়া

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

যাইহোক, আমি ইতিমধ্যে এটি অক্ষম করেছি, যেহেতু বাগ # 754000 এর কারণে, আমাকে টাচজিগের সাহায্যে মাঝের বোতামটি ক্লিক করতে হবে এবং প্রতিবার আমি যখন তিনটি আঙুলের ট্যাপ সঞ্চালন করি তখন খুব হতাশাজনক is
মিগুনগুলি

2

নিম্নরূপে স্ট্যান্ডার্ড স্পর্শ অঙ্গভঙ্গি অক্ষম করুন:

sudo apt install dconf-editor
dconf-editor

বাম-হাতের মেনুতে ক্লিক করুন

com > canonical > unity > gestures

এবং সেখানে প্রদর্শিত 3 বেসিক অঙ্গভঙ্গি অক্ষম করুন। এটি 16.04.3 এ কাজ করে।


এখন পর্যন্ত 16.04 উবুন্টু ব্যবহারকারীদের জন্য সেরা এবং সর্বাধিক সহজ উত্তর যা ডকনফের একটি জিইউআই সংস্করণ ইনস্টল করতে খুশি।
গ্রেডফক্স

1

আমরা একটি উবুন্টু ভিত্তিক কিওস্ক টার্মিনাল তৈরি করেছি, তবে মাল্টিটুচ অঙ্গভঙ্গিগুলি ওএস প্রকাশ করেছে, সুতরাং আমাদের কোনওভাবে এটি থেকে মুক্তি দিতে হবে।

এটি একটি স্যামসাং টাচস্ক্রিন ডিভাইস ছিল, xinputটাচ মডিউলটি এএফও টিসিএম 10 জ 40 ভি হিসাবে চিহ্নিত করেছিল।

উবুন্টু 14.04 এর উপর মাল্টিটুচ অঙ্গভঙ্গি অক্ষম করার জন্য পদ্ধতিটি মূলত উপরে বর্ণিত ডোমস্টারের সমান, তবে আপনাকে নিম্নলিখিত সারিতে একটি মন্তব্য খুঁজে বের করতে হবে না /tmp/unity/unity-4.24.0/plugins/unityshell/src/Launcher.cpp

// InitGestureEngine();

হুম, এটি আমার পক্ষে কাজ করে নি। স্পর্শেগ এবং জিন এখনও 4 টি আঙুলের চেয়ে কম অঙ্গভঙ্গির জন্য কোনও ডেটা রিপোর্ট করে না, এবং সিস্টেম টাচপ্যাড সেটিংসে "টু ফিঙ্গার স্ক্রোল" সেটিংস এখনও অগ্রাধিকার নিয়েছে ...
জেফ ওয়ার্ড

1

মনে রাখবেন যে dpkg-buildpackage টি যুক্তি হিসাবে অনেকগুলি কাজ দেওয়া যেতে পারে, যা আপনাকে আপনার সমস্ত সিপিইউ কোর এর মতো ব্যবহার করতে দেয়:

dpkg-buildpackage -us -uc -nc -j$(($(nproc)))

(এটি ডিজ্রাজিওটিনের উত্তরের মন্তব্য হওয়া উচিত ছিল, তবে আমি মন্তব্য পোস্ট করতে পারি না))


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