[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:15116] [HowTo] use game port joystick on ALSA 0.9.x
-
From:YAMAGUCHI Shingo
-
Date:Sun, 25 Aug 2002 11:00:12 +0900 (JST)
- Subject: [plamo:15116] [HowTo] use game port joystick on ALSA 0.9.x
- From: shingo-y@xxxxxxxxxxxxxx (YAMAGUCHI Shingo)
- Date: Sun, 25 Aug 2002 11:00:10 +0900 (JST)
山口@金沢市 です。
# 北陸製菓は家の近くにあって、近くを通るとビスケットを
# 焼いたような甘い匂いがいつも漂っています
私はずっとはまっていたんですが、ALSA の 0.9 系でゲーム
ポートのジョイスティックが使えるように設定できたので、
報告させていただきます。
# この辺ドキュメントがほとんどなくて苦労しました
解決の足がかりとなったのは alsa-user ML のこの記事です。
http://www.geocrawler.com/lists/3/SourceForge/12350/25/9153136/
これによると、サウンドカードによって使うモジュールが若干
違うようで、いかにもはまりそうな状態です。
ではさっそく本題に入ります。
まず、該当マシンのハードおよびソフトは次のようになっています。
ハード
* サウンドカード Labway Xwave 6000(初期型)
YMF744B チップを積んだ普通のサウンドカード。ALSA からは ymfpci
で問題なく認識される。もちろんゲームポートつき。
* マザーボード MSI K7T Pro(MS-6330) 上のサウンドチップ
VIA VT82C686 チップのサウンド機能。ALSA からは via686 で
認識される。ゲームポートつきだが、こちらは BIOS で無効に
してある。
* ジョイスティック Microsoft Sidewinder Game Pad(新型)
後発の「デジタル信号」を出すタイプ。カーネルからは sidewinder で
認識するはずなのだが...
Xwave 6000 側のゲームポートに接続。
ソフト
* カーネル 2.4.18
ゲームポート、ジョイスティック関係は全てモジュールとして
コンパイルしてあります。
* ALSA 0.9.0rc3
alsa-driver, alsa-lib, alsa-utils をインストール。alsa-driver
はそのままだとリンクでこけるので include/linux/isapnp.h を
削除した(パッケージングミスっぽい)。
* joystick(ruby) CVS 2002/05/19
:pserver:anonymous@cvs1.sourceforge.net:/cvsroot/linuxconsole
から取得。ジョイスティックの動作テストができる。バージョンは
2.1.0 と表示される。前のリリースバージョン 1.2.15 だと 2.4 系で
使えなかったような気がする。
設定ですが、まずカーネルと ALSA を使える状態にします。起動時/終了時
用のスクリプトもあると便利なので入れておきます。
# 入れない人は alsactl [store|restore] で代用してください
ALSA をロードします。スクリプト(rc.alsasound とします)を使って、
# /etc/rc.d/rc.alsasound start
などとすれば ALSA の各モジュールがロードされます。
# その前に /etc/modules.conf を設定しておいてください
次に、ALSA モジュールをアンロードします。スクリプトを使って、
# /etc/rc.d/rc.alsasound stop
などとします。または、
# alsactl store
を実行します。すると、ボリュームなどの設定ファイル /etc/asound.state
ができますので、これを編集します。
/etc/asound.state の中に、次のような部分があります。
-----
control.52 {
comment.access 'read write'
comment.type BOOLEAN
iface CARD
name Joystick
value false
}
-----
これがゲームポート上のジョイスティックを有効にするかどうかの
設定なので、value を true に変更します。
近くにゲームポートのアドレス指定の設定がある場合はそれも設定
します。私の場合はこれはデフォルトのままにしました。
設定が終わったら、この設定で再び ALSA をロードします。
# /etc/rc.d/rc.alsasound start
または、
# alsactl restore
とします。
あとは、冒頭の alsa-user ML の記事に従って、
# /sbin/modprobe ns558
# /sbin/modprobe sidewinder
# /sbin/modprobe joydev
とすると、/dev/input/js0 が出現しました(== 使えるようになった)。
# devfs なので「出現」します
# devfs じゃない場合は /dev/js0 などをあらかじめ mknod しておいて
# ください
一応ジョイスティックのテストプログラム jstest を走らせる、
% jstest /dev/input/js0
と、2 軸 10 ボタンのゲームパッドとして認識されました。
あとは、起動時のスクリプト中に modprobe の部分を登録して、起動時に
ジョイスティックが使えるようにしました。
...という感じです。わかりにくいところなどありましたら突っ込んで
いただければ幸いです。
--
山口 真悟 (YAMAGUCHI Shingo)
shingo-y@spacelan.ne.jp
shingo@kip.iis.toyama-u.ac.jp
[検索ページ]
[メール一覧]
Plamo ML 公開システム