ورود/ایجاد حساب کاربری
   منوی اصلی
· خانه
· لیست کاربران
· جستجو
· آمار مشاهدات
· آرشیو مقالات


- شرح
· راهنمای نویسندگان
· درباره ما

   همکاری با نشریه
در صورتی که مایل به همکاری با نشریه هستید، می‌توانید در لیست پستی نشریه عضو شده و در جریان امور قرار گیرید. برای اطلاعات بیشتر، اینجا کلیک کنید.

   کاربران
سردبیر
هیچ مدیر کمکی حاضر
همکاران
هیچ مدیر کمکی حاضر
اعضا:
جدیدترین:جدید امروز:0
جدیدترین:جدید دیروز:0
جدیدترین:مجموع:2471
جدیدترین:جدیدترین:
ufumenarayu
اعضا:حاضر
اعضا:اعضا:0
مهمان‌ها:مهمان‌ها:3
مجموع:مجموع:3
کاربران حاضر
هیچ کاربر حاضری وجود ندارد

   ورود کاربران




 


 برای ورود مشکل دارید؟
 ثبت نام کاربران جدید

کار با evdev

(1250 مجموع کلمات موجود در متن)
(6925 بار مطالعه شده است)  نسخه چاپی

کار با evdev


اگر صاحب یک ماوس٬ صفحه کلید یا دسته بازی هستید که تعداد زیادی دکمه و چرخ دارد٬ حتما متوجه شده‌اید که بعضی از دکمه‌ها و چرخ‌ها در محیط‌ X کار نمی‌کنند. این مقاله در مورد روش‌های تنظیم X برای استفاده از تمام امکانات دستگاه‌های ورودی با استفاده از راه‌انداز evdev نوشته شده است.


۱. evdev چیست؟

evdev رابط عمومی رخداد‌های ورودی است یعنی تمام رخداد‌های ورودی را که در هسته بوجود می‌آیند با برچسب‌های زماندار (timestamp) به برنامه منتقل می‌کند. این راه‌انداز٬ دستگاه‌های ورودی را با نام eventX در شاخه /dev/input ایجاد می‌کند که X می‌تواند اعداد 0 تا 31 را داشته باشد. به عنوان مثال:


$ ls -l /dev/input/event*

crw-rw---- 1 root root 13, 64 2007-03-14 11:06 /dev/input/event0

crw-rw---- 1 root root 13, 65 2007-03-14 11:06 /dev/input/event1

crw-rw---- 1 root root 13, 66 2007-03-14 11:06 /dev/input/event2

crw-rw---- 1 root root 13, 67 2007-03-14 11:06 /dev/input/event3

crw-rw---- 1 root root 13, 68 2007-03-14 11:06 /dev/input/event4


تنها یک صفحه کلید و یک ماوس به این کامپیوتر متصل است ولی ۵ دستگاه ورودی شناسایی شده‌اند! در این مورد در ادامه مقاله توضیح داده می‌شود.

۲. چطور evdev را نصب کنم؟

معمولا evdev روی سیستم نصب است و فقط نیاز به تنظیم سیستم برای استفاده از آن داریم. برای نصب و استفاده از evdev به این موارد نیاز داریم.

بخش اول و اصلی در هسته قرار دارد که یک راه‌انداز سخت‌افزار است که در قسمت قبل در مورد آن صحبت شد. هسته باید این راه‌انداز را داشته باشد تا بتوانید از evdev استفاده کنید. اگر هسته را خودتان نصب می‌کنید این راه انداز را در قسمت

Device Drivers->Input device support->Event interface

فعال کنید.

بخش دوم یک راه‌انداز نرم‌افزار است که می‌تواند یک راه‌انداز در X یا gpm باشد که ما فقط در مورد X صحبت می‌کنیم. برای نصب آن:


Debian: # apt-get install xserver-xorg-input-evdev

Fedora: # yum install xorg-x11-drv-evdev


۳. آزمایش evdev

حتما قبل از تنظیم X باید هر کدام از دستگاه‌های event که در سیستم وجود دارد آزمایش شوند تا معلوم شود که چه هستند و آیا درست کار می‌کنند. برای اینکار از ابزاری به نام evtest که یکی از ابزار‌های پروژه LinuxConsole است استفاده می‌کنیم. در دبیان این ابزار در بسته dvb-utils قرار دارد٬ چون از آن برای آزمایش کنترل از راه دور کارت‌های dvb نیز استفاده می‌شود. برای آزمایش هر دستگاه event:


# evtest /dev/input/eventX


که به جای X باید عدد مربوطه را قرار دهید. در ضمن برای اجرای این دستور نیاز به مجوز کاربر ریشه دارید. برای خروج از هر آزمایش باید دکمه‌های Ctrl+c را باهم فشار دهید. با آزمایش سه دستگاه اول مشخص شد که آنها دکمه‌های Power و Sleep روی case هستند. event3 مربوط به ماوس و event4 مربوط به صفحه کلید است. در زیر خروجی مربوط به ماوس را می‌بینید:


# evtest /dev/input/event3


Input driver version is 1.0.0

Input device ID: bus 0x3 vendor 0x9da product 0x6 version 0x110

Input device name: "A4Tech USB Optical Mouse"

Supported events:

Event type 0 (Reset)

Event code 0 (Reset)

Event code 1 (Key)

Event code 2 (Relative)

Event type 1 (Key)

Event code 272 (LeftBtn)

Event code 273 (RightBtn)

Event code 274 (MiddleBtn)

Event code 275 (SideBtn)

Event code 276 (ExtraBtn)

Event code 277 (ForwardBtn)

Event type 2 (Relative)

Event code 0 (X)

Event code 1 (Y)

Event code 6 (HWheel)

Event code 8 (Wheel)

Testing ... (interrupt to exit)


همان طور که می‌بینید اطلاعاتی در مورد ماوس٬ نوع رخداد و کد آن به همراه نام دکمه‌ها و چرخ‌ها در خروجی دیده می‌شوند. با فشار دادن هر یک از دکمه‌ها و یا چرخاندن چرخ‌ها٬ رخداد به همراه اطلاعات مربوط به آن روی صفحه نمایش داده خواهد شد.

۴. تنظیم X

برای تنظیم X فایل مربوطه را با یک ویرایشگر متن باز کنید:

# vi /etc/X11/xorg.conf

تنظیمات ماوس را پیدا کنید:


Section "InputDevice"

Identifier "Configured Mouse"

Driver "evdev"

Option "CorePointer"

Option "Name" "A4Tech USB Optical Mouse"

Option "ZAxisMapping" "4 5 6 7"

EndSection


بخش Identifier تنها یک نام است که X از آن استفاده می‌کند و نیازی به تغییر آن ندارید.

بخش Driver را باید از mouse به evdev تغییر دهید.

بخش Option اول که مربوط به X است و این ماوس را به عنوان اشاره‌گر اصلی تنظیم می‌کند و نیازی به تغییر آن ندارید.

بخش Option دوم که مربوط به evdev است و باعث می‌شود تا از دستگاهی استفاده شود که دارای این نام باشد.

به هیچ عنوان استفاده از تنظیمی مانند زیر درست نیست:

Option "Device" "/dev/input/event3"


ممکن است ماوس بعدا به درگاه Usb دیگری متصل شود یا جای ماوس و صفحه کلید عوض شود و ترتیب دستگاه‌های event در /dev/input تغییر کند. می توانید با استفاده از روش‌های مختلف دستگاه مورد نظر را شناسایی کنید٬ می‌توانید از Name مانند مثال بالا یا از vendor که یک شماره برای شناسایی سازنده است و می‌توانید آنرا در خروجی evtest یا در فایل /proc/bus/input/devices پیدا کنید.

به عنوان مثال اگر از vendor به شکل زیر استفاده کنید٬ هر چیزی که سازنده آن A4tech باشد به عنوان ماوس استفاده خواهد شد:

Option "vendor" "09da"

(برای اطلاع از تنظیمات بیشتر man evdev را در کنسول اجرا کنید.)

بخش Option سوم که باز مربوط به X است و باعث می‌شود که حرکت چرخ اول به سمت بالا و پایین که همان دکمه‌های ۴ و ۵ است برای حرکت عمودی و حرکت چرخ دوم به سمت بالا و پایین که همان دکمه‌های ۶ و ۷ است برای حرکت افقی استفاده شود.(برای اینکه بدانید چه اعدادی را در این قسمت وارد کنید قسمت بعدی را مطالعه کنید.)

۵. آزمایش تنظیمات X

ابتدا X را مجددا راه‌اندازی کنید تا تنظیمات اعمال شوند. برای آزمایش دستگاه‌های ورودی که X از آنها استفاده می‌کند از ابزار xev استفاده می‌شود. با اجرای دستور xev در یک شبیه‌ساز ترمینال مانند xterm, gnome-terminal و یا konsole یک پنجره کوچک مانند آنچه در تصویر زیر می‌بینید ظاهر می‌شود:


تصویر ۱ xev

اشاره‌گر ماوس را به داخل پنجره برده و چرخ‌های ماوس را حرکت دهید اعداد مربوط به هر حرکت روی صفحه نمایش داده خواهد شد که با استفاده از آنها می‌توانید X را تنظیم کنید.

برای تنظیم صفحه کلید نیز می توانید از همین روش استفاده کنید.


نویسنده: سیاوش صفی

منابع:

/usr/src/linux/Documentation/input/input.txt

man evdev

man xorg.conf

PDF Version


تمامی مطالب و مقالات این سایت تحت مجوز GNU FDL قرار دارند. بنابراین کپی و ایجاد تغییر در آنها مطابق شرایط این مجوز آزاد می‌باشد.