আমি জানতে চাই যে কীভাবে ড্রাইভার (নীচে তাদের মধ্যে) আমার টাচপ্যাড পরিচালনা করছে:
appletouch.ko.gz, cyapa.ko.gz, sermouse.ko.gz, synaptics_usb.ko.gz, bcm5974.ko.gz, psmouse.ko.gz, synaptics_i2c.ko.gz, vsxxxaa.ko.gz
আমি জানতে চাই যে কীভাবে ড্রাইভার (নীচে তাদের মধ্যে) আমার টাচপ্যাড পরিচালনা করছে:
appletouch.ko.gz, cyapa.ko.gz, sermouse.ko.gz, synaptics_usb.ko.gz, bcm5974.ko.gz, psmouse.ko.gz, synaptics_i2c.ko.gz, vsxxxaa.ko.gz
উত্তর:
সম্ভবতঃ তাদের কেউই এটি করছে না। আমার সিস্টেমে উদাহরণস্বরূপ যেখানে আমি ফেডোরা 19 এবং একটি স্নেপটিক টাচপ্যাড সহ একটি থিঙ্কপ্যাড 410 ব্যবহার করছি আমার পাশাপাশি কার্নেল ড্রাইভার নেই।
$ lsmod|grep -iE "apple|cyapa|sermouse|synap|psmouse|vsxx|bcm"
তাহলে কি এই ডিভাইস যত্ন নিচ্ছে? আসলে এটি আসলে এই কার্নেল মডিউল:
$ lsmod|grep -iE "input"
uinput 17672 0
আপনি যদি এই মডিউলটি সম্পর্কে আরও দেখতে চান তবে আপনি এটি ব্যবহার করতে পারেন modinfo uinput:
$ modinfo uinput
filename: /lib/modules/3.13.11-100.fc19.x86_64/kernel/drivers/input/misc/uinput.ko
version: 0.3
license: GPL
description: User level driver support for input subsystem
author: Aristeu Sergio Rozanski Filho
alias: devname:uinput
alias: char-major-10-223
...
যেহেতু এটি ইনপুট ডিভাইসগুলি ঘুরে দেখা যায় যেমন উচ্চতর স্তরে প্রায়শই ডিল করা হয়, এক্ষেত্রে প্রকৃত ড্রাইভারগুলি এক্স 11 স্তরে বাস্তবায়ন করা হয়।
uinput একটি লিনাক্স কার্নেল মডিউল যা ব্যবহারকারীর জমি থেকে ইনপুট সাবসিস্টেম পরিচালনা করতে দেয়। এটি কোনও অ্যাপ্লিকেশন থেকে ইনপুট ডিভাইসগুলি তৈরি এবং পরিচালনা করতে ব্যবহৃত হতে পারে। এটি / dev / ইনপুট ডিরেক্টরিতে একটি অক্ষর ডিভাইস তৈরি করে। ডিভাইসটি ভার্চুয়াল ইন্টারফেস, এটি কোনও দৈহিক ডিভাইসের সাথে সম্পর্কিত নয়।
উৎস: uinput দিয়ে শুরু করা: ব্যবহারকারীর স্তরে ইনপুট সাব-সিস্টেম
তারা এক্স 11 এর সাব সিস্টেমে রয়েছে। xinput --listকমান্ডটি ব্যবহার করে আপনি ডিভাইসটি দেখতে পাচ্ছেন । উদাহরণস্বরূপ, আমার থিঙ্কপ্যাড ল্যাপটপের ডিভাইসগুলি এখানে:
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=9 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=10 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=14 [slave keyboard (3)]
লক্ষ্য করুন যে আমার টাচপ্যাডটি এই তালিকায় প্রদর্শিত হয়েছে। /procউদাহরণস্বরূপ: আপনি এই ডিভাইসগুলি সম্পর্কে অতিরিক্ত তথ্য সন্ধান করতে পারেন
$ cat /proc/bus/input/devices
...
I: Bus=0011 Vendor=0002 Product=0007 Version=01b1
N: Name="SynPS/2 Synaptics TouchPad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input5
U: Uniq=
H: Handlers=mouse0 event4
B: PROP=9
B: EV=b
B: KEY=6420 30000 0 0 0 0
B: ABS=260800011000003
...
আপনার সিস্টেমে যদি সিন্যাপটিক টাচপ্যাড ব্যবহার করা হয় (যা আমি বিশ্বাস করি যে তারা সমস্ত টাচপ্যাডের 90% ডলার করে) তবে আপনি আরও একটি কাজ করতে পারেন locate synaptics | grep xorgযা নিম্নলিখিত ফাইলগুলি প্রকাশ করতে পারে:
$ locate synaptics | grep xorg
/usr/lib64/xorg/modules/input/synaptics_drv.so
/usr/share/X11/xorg.conf.d/50-synaptics.conf
/usr/share/doc/xorg-x11-drv-synaptics-1.7.1
/usr/share/doc/xorg-x11-drv-synaptics-1.7.1/COPYING
/usr/share/doc/xorg-x11-drv-synaptics-1.7.1/README
প্রথম ফলাফলগুলি হ'ল প্রকৃত ড্রাইভার যা আপনি জিজ্ঞাসা করছেন। এটি এখানে দ্বিতীয় ফাইলের মাধ্যমে X.org এ লোড করা হবে:
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
EndSection
এবং এই লাইন:
MatchDevicePath "/dev/input/event*"
যা এই ড্রাইভারটির সাথে শারীরিক ডিভাইসগুলি যুক্ত করে। এবং আপনি সম্ভবত নিজেকে জিজ্ঞাসা করছেন, এই লোকটি এতটা নিশ্চিত কিভাবে হতে পারে? এই কমান্ড দেখায় আমার দেওয়া Synaptic টাচপ্যাড ব্যবহার সঙ্গে যুক্ত ডিভাইসটি ব্যবহার করছেন id=12থেকে xinput --listআউটপুট আমি আগেও দেখিয়েছে:
$ xinput --list-props 12 | grep "Device Node"
Device Node (251): "/dev/input/event4"
journalctl -b 0অনুসন্ধান touchpadকরেছি এবং আমার এই লাইন আছে (**) bcm5974: Applying InputClass "evdev touchpad catchall"। সুতরাং আমি জানি bcm5974যে ডিভাইস ড্রাইভার
uinputকার্নেল মডিউল (ড্রাইভার) এর মাধ্যমে গতির ডেটা পাচ্ছে । এই বিবৃতি সম্পর্কে কি পরিষ্কার নয়?
uinputমডিউলটি হার্ডওয়্যার ডিভাইসের সাথে সম্পর্কিত নয়; এটি সঠিক তথ্য সরবরাহ করতে হার্ডওয়্যার ড্রাইভারের উপর নির্ভর করে এবং তারপরে ইউনপুট ইউজারল্যান্ডে একটি ইউনিফাইড ইনপুট ইন্টারফেস সরবরাহ করে। ইউজারল্যান্ড সফ্টওয়্যার, এক্ষেত্রে সিনপ্যাটিক্স xorg ড্রাইভার, ইউনপুট ব্যবহার করে xorg কে কার্নেলের (এবং অপ্রত্যক্ষভাবে ব্যবহারকারী ইনপুট) সাথে সংযুক্ত করতে পারে। আমি ভুল হলে দয়া করে আমাকে সংশোধন করুন, কারণ আমি এই ক্ষেত্রের বিশেষজ্ঞ নই ..
hid_multitouchআপনার তালিকায় অন্তর্ভুক্ত করা উচিত । আমি মনে করি এটিই আমার ডেল প্রিসিজে টাচপ্যাডটি পরিচালনা করছে এবং আমার uinputমডিউলটি লোড হয়নি।
$ cat /var/log/Xorg.0.log | grep "input driver"
আমার ল্যাপটপে এটি দেখায়:
...
[ 9.054] (II) Using input driver 'synaptics' for 'Elan Touchpad'
...
cat | grep আপনি সরাসরি কমান্ড grepএড়ানো ফাইলগুলিতে ব্যবহার করতে পারেন হিসাবে ব্যবহার করবেন না cat।
grep -e "input driver" /var/log/Xorg.0.log
journalctl -u display-manager | grep "input driver"এবং xinput --listকার্নেলটি পুনরায় সংশোধন করার সময় আমাকে "এলানটেক" কার্নেল বিকল্পটি সক্ষম করতে হবে তা নির্ধারণ করতে আমাকে সহায়তা করেছিল।
lsmodএবং দেখুন যে কোনও ড্রাইভারটি লোড হয়েছে। আপনি আপনার পড়তে চাইবেন/var/log/Xorg.0.log।