歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

編譯內核讓之支持PS並口改裝手

  PS並口改裝手柄是接在打印機口上的手柄,相比傳統的接在聲卡MIDI多功能口的模擬手柄,它是純數字的,因此有定位正確(不用像模擬手柄需要調校才能正確定位),而且,支持的按鍵可以達到十多個(比模擬手柄多很多),完全可以滿足任何游戲的需要;由於是數字式的手柄,因此手柄的電路非常簡單,價格低廉,在廣州這裡,一對PS改裝手柄才16塊,通街都有得賣,效果卻非常好!(相信很多朋友也是用它吧!)     PS手柄的WIN版驅動非常多,但在Linux下,對它的支持的資料卻一直非常缺乏,在網絡上也沒見過有人提起過;由於我經常在linux下玩各種各樣的模擬器,對此無法支持手柄這事一直耿耿於懷.近來無意之中竟然發現內核之中,其實早就已經提供了支持,一番試驗+翻閱內核自帶文檔,終於試驗成功!下面介紹一下方法:     系統:紅旗3.0desktop,內核2.4.18(更早一點的可能也支持,不過我還沒試驗過)     1.由於PS並口手柄用到並口,而且是手柄設備,因此,請先檢查你有沒有/dev/parport*,/dev/js*,/dev/input/js*這些設備,如果有,可以忽略這步;如果沒有,請先建立,方法是:   cd /dev   rm js*   mkdir input   mknod input/js0 c 13 0   mknod input/js1 c 13 1   mknod input/js2 c 13 2   mknod input/js3 c 13 3   ln -s input/js0 js0   ln -s input/js1 js1   ln -s input/js2 js2   ln -s input/js3 js3     2.進你的內核源碼文件所在目錄(譬如我的是/usr/src/2.4.1,執行make xconfig命令配置內核(圖一所標為配置過程中改動的大選項)     先配置並口相關的:如圖二,所標地方最好標配置成Y,選M應該也可以,但不推薦;這樣就將並口支持功能內建於內核中,內核啟動時會自動檢測並口並讓/dev/parport*起作用     3.配置input core support,如圖三,將所標地方選M,這樣將手柄功能配置成模塊,當加載時,讓/dev/js0這些起作用;雖然input core support的幫助文檔中說是配置USB設備的,但實際上,這些是手柄設備通用的,不配置這個,則無法配置下一步(當初我就是沒配置這個,結果搞了半天joystice的選項都是灰色的,無法配置)----這步配置編譯後將生成input.o和joydev.o這兩個模塊     4.配置joystick:點擊character device裡的joystick選項(圖十二)進入手柄配置窗口(圖四,圖五),將所標地方選M,一個是配置聲卡上的MIDI口(這個應該可以省略,據內核文檔說明,是對模擬手柄提供支持的,對數字手柄沒用,但我還沒試驗過),一個是PSX手柄的支持----這步配置編譯後將生成gameport.o和gamecon.o這兩個模塊     5.保存配置退出,重新編譯內核和模塊並安裝,這裡就不羅嗦了,關於編譯內核的資料本站的"技術論壇"就有不少     6.進入"/lib/modules/your kernel/kernel/drivers/"(譬如我的是/lib/modules/2.4.18/kernel/drivers)目錄下,應該見到input目錄下有input.o和joydev.o兩個模塊;char/joystick目錄下應該有gamecon.o和gameport.o模塊;見圖六     7.編輯/etc/modules.conf文件,加入如下兩行語句:   alias pspad gamecon   options gamecon gc=0,7,7,7,7,7   第一行的意思是給gamecon.o這個模塊起個別名pspad,那以後就可以用modprobe pspad這個命令加載;第二行的意思是給gamecon這個模塊加上gc這個參數,其中"0,7,7,7,7,7"的"0"表示手柄是接在第一個打印機口(/dev/parport0),如果你的手柄是接在第二個,則用1,類推;後面的第一個"7"代表第一手柄,類型是PS手柄改裝的,第二個"7"代表第二個手柄,類型也是PS手柄,由於並口可以同時接5個手柄,所以有5個7,如果你只有一個接上,只寫一個"7"就可以了(1是代表超任改裝手柄,2是代表紅白機改裝手柄,6是代表N64改裝手柄,7代表PS改裝手柄);這兩行很重要,特別是第二行,不加這個參數的話加載gamecon模塊會報錯說參數錯誤!(圖七)     8.重起,使用新內核,啟動過程中,你會發現有並口檢測信息出現,這是因為並口支持功能已經在內核中起作用;進入系統後,開一個終端窗口,依次執行下面命令:   modprobe input   modprobe joydev   modprobe pspad   沒任何出錯信息的話,再lsmod一下,應該可以看到類似圖八的輸出,確認其中有input,joydev和gamecon這三個模塊,其中的gameport一般隨聲卡驅動自動加載     9.運行jstest /dev/js0(如果你的系統沒有這個命令,請上www.rpmfind.net搜索joystick關鍵字,安裝一個叫joystickxxx.rpm的包就有了),應該可以見到圖九的輸出,這時你按一下手柄的按鍵,如果屏幕輸出有相應的改變,那麼,恭喜你,手柄驅動完全成功了!     10.你現在可以運行一下一個模擬器,或其他游戲,用游戲中的手柄功能設置一下,就可以立即可以使用了;譬如epsxe這個模擬器,你可以用ammo joydevice pad driver這個插件(圖十),配置一下(圖十一)就可以用了,其中/dev/js0代表第一個手柄,/dev/js1代表第二個手柄,類推!經本人試驗,凡是可以應用手柄的出程序都可以正常實現手柄的功能,效果一流!以後你可以將第8步中的modprobe那三行加載模塊命令加入到rc.local中讓它隨啟動自加載,則一進系統後就可以使用手柄了!或將它寫成一個腳本,需要是再執行也可以!     以上很多信息都是來自內核自帶的說明文檔,大家如果有什麼不明白,請先閱讀內核源碼所在目錄下Documentation/input目錄下的joystick.txt和joystick-parport.txt這些文檔,當然可以回貼!




Copyright © Linux教程網 All Rights Reserved