سلام
متاسفانه یکی از دغدغه های دوستداران بازیها کنترل بازی های مختلف می باشد.ویندوز با اراپه شدن usb به راحتی از این سد بزرگ عبور کرد به طوری که تقریبا ۹۹،۹۹ ٪ گیم پد ها در ویندوز مشکلی نداشته و بعد از اتصال به راحتی کار می کنند.
اما قضیه در لینوکس برعکسه.این نکته را می توان به عدم توجه لینوکس کاران به دنیای جذاب بازیهای رایانه ای نسبت داد که خدا رو شکر این جند ساله تغییر کرده.
قبل از شروع توضیح بدم که گیم پدها کلا به دو صروت به کامیوتر وصل می شن.
USB
GamePort
در مورد USB که سوال نباید باشه اما در مورد gameport بر روی کارت صدا قرار داره و تقریبا تمامی کارت صداها از اون پشتیبانی می کنن.یشنهاد من استفاده از مدلهاپی که USB وصل می شن.
خوب شروع کنیم.
گیم پد رو وصل کنید.
۱
- گیم پدهایی که بعد از نصب لینوکس آنها را تشخیص می دهد.در بیشتر مواقع به صورت اتوماتیک گیم د رو می شناسه . اگه از گیم پد با درگاه gameport استفاده می کنید باید دستگاه رو ریستارت کنید چرا که در گاه gameport ه plug and play نیست.
یک نکته: بر خلاف ویندوز ، لینوکس الگوریتم خاص خود را برای گیم پد دارد.در ویندوز به محض شناساپی گیم پد در تمامی نرم افزار ها قابل شناساپی و استفاده است در حالیکه در لینوکس حتی اگر jscalibrator گیم پد شما را بشناسد ممکن است در بازی مورد نظر کار نکند و باید دوباره برای بازی مورد نظر تنظیم شود(مثلا فایل joy_sensitivity برای znes )
خوب در قدم اول کالیبراسیون
ابتدا کیج زیر را نصب کنید.
sudo apt-get install jscalibrator
و بعد
jscalibrator
بر روی calibrate کلیک کنید و گیم د را در تمام جهتها حرکت دهید.
به این صورت ماکزیمم و می نیمم جهتها توسط برنامه بدست می آید.
بر روی calibrate دوباره کلیک کنید تا اطلاعات save شود.
با این کار اطلاعات کالیبراسیون در فایل .joystick در مسیر دایرکتوری خانگی ذخیره می شود(فایل hidden می باشد)
اطلاعات مربوط به device گیم د در فایل /dev/input/js0 ذخیره است می توانید با دستور زیر محتوای فایل رو ببینید
اگر علاقه مند هستید در کنسول دسته بازی رو کالیبره کنید می توانید از joystick استفاده کنید
sudo apt-get install joystick
و بعد
jscal /dev/input/js0
jstest /dev/input/js0
وسلام
۲- گیم پدهایی که لینوکس آنها را تشخیص نمی دهد
اما اگه گیم پد gameport در لینوکس اصلا شناخته نشد نگران نباشید.
ابتدا
cd /dev/input
و
sudo MAKEDEV js
خوب قسمت مهم باید درایور دسته بازی مربوطه رو لود کرد.یه نکته معمولا دسته بازی های مشابه حتی اگه تولسد کارخانه های مختلف باشند درایور مشابهش دارند.
مثلا گیم پدهایی که ۸ دکمه و دو کنترل آنالوگ دارند همگی با درایور sidewonder نصب می شوند.
ابتدا فایل modules.conf را ویرایش کنید
sudo gedit /etc/modules.conf (Ubuntu)
sudo kate /etc/modules.conf (Kubuntu)
sudo mousepad /etc/modules.conf (Xubuntu
در انتهای فایل این خطوط را اضافه کنید.
فایل را save کرده و ریبوت کنید.
حالا
sudo gedit /etc/modprobe.d/options
بدنبال joystick_port و یا joystick بگردید.
joystick_port=1
یا
joystick=1
و ریبوت کنید.
برای گیم پدهای دیگر از ماجولهای زیر استفاده کنید.
MS Sidewinder gamepad
Code:
sudo modprobe joydev
sudo modprobe ns558
sudo modprobe sidewinder
sudo modprobe analog ## This one work only for analog pad, like joysticks
For a Logitech WingMan digital gamepad
Code:
sudo modprobe joydev
sudo modprobe ns558
sudo modprobe adi ## Specific driver for Logitech gamepads
For a Logitech WingMan gamepad (analog)
Code:
sudo modprobe joydev
sudo modprobe ns558
sudo modprobe analog ## Module for analog gamepads
sudo modprobe pcigame ## Module for PCI card (??)
sudo modprobe adi ## Module for Logitech pads
For a MS SideWinder ForceFeedBack Pro
Code:
sudo modprobe joydev
sudo modprobe ns558
sudo modprobe analog
sudo modprobe sidewinder
sudo modprobe iforce ## Force Feedback driver
sudo modprobe evdev ##
For a Guillemot dual analog gamepad (gameport, non-USB)
Code:
sudo modprobe joydev
sudo modprobe ns558
sudo modprobe guillemot
sudo modprobe analog ## to check
sudo modprobe iforce ## to check
۳- در صورتی که گیم پد شما usb باشد و لینوکس آنرا تشخیص ندهد.
sudo modprobe usbhid
sudo modprobe joydev
حالا گیم پد را وصل کنید و به روش اول راهنما ببینید لینوکس آنرا می شناسد یا خیر
امیدوارم بتونید از گیم پدها در لینوکس لذت ببرید.
موفق باشید
+ منبع
http://ubuntuforums.org/showthread.php?t=338457