ec2-3-145-58-158.us-east-2.compute.amazonaws.com , 25564th | 2007/01/28 UPDATED |
PS3は、PCのHIDジョイスティックを認識するので、市販の PS→USB変換器を使うとアナログコントローラーに限り接続することができるが、格ゲー用ジョイスティックなどのデジタルコントローラーでは、レバー入力が入らず使うことができない。
これは、PS3が認識するHIDの方向キー属性が"Hat Switch"となっているためで、市販の変換器はアナログ接続時、方向キーが Hat Switchとなるが、デジタル型ではボタン型として変換されるので入力が伝達されない。
ということで、ゲームパッド変換器なアプリケーションのHIDディスクリプタを変更してHat Switchとして認識させるようにしてみた。
HIDディスクリプタはこんな感じ。
ReportDscr: db 05h,01h ;USAGE_PAGE(Generic Desktop) db 09h,05h ;USAGE (Game Pad) db 0a1h,01h ;COLLECTION (Application) db 09h,39h ;USAGE (Hat Switch) db 15h,0h ;LOGICAL_MINIMUM (0) db 25h,07h ;LOGICAL_MAXIMUM (7) db 35h,00h ;PHYSICAL_MINIMUM (0) db 46h,3bh,01h ;PHYSICAL_MAXIMUM (315) db 65h,14h ;UNIT (Eng Rot:Angular Pos) db 75h,04h ;REPORT_SIZE (4) db 95h,01h ;REPORT_COUNT (1) db 81h,02h ;INPUT (Data,Var,Abs) db 05h,09h ;USAGE_PAGE (Button) db 19h,01h ;USAGE_MINIMUM (Button 1) db 29h,0Ch ;USAGE_MAXIMUM (Button 12) db 15h,00h ;LOGICAL_MINIMUM (0) db 25h,01h ;LOGICAL_MAXIMUM (1) db 95h,0Ch ;REPORT_COUNT (12) db 75h,01h ;REPORT_SIZE (1) db 81h,02h ;INPUT (Data,Var,Abs) db 0c0h ;END_COLLECTION ReportDscrEnd:
ちなみに、USB Vendor IDは Anchor chipのサンプルボードと同じ値にセットしてあるので、同じ EZ-USBモノがPS3に接続されているとおかしな事になるので注意してほしい。
端子 | 信号名 | PS端子 | 端子 | 信号名 | PS端子 |
---|---|---|---|---|---|
A1 | PA5/FRD# | B1 | PA4/FRW# | ||
A2 | PC0/RxD0 | 7. CLOCK | B2 | PB7/T2OUT | |
A3 | PC1/TxD0 | 6. SELECT | B3 | PB6/INT6 | |
A4 | PC2/INT0# | 2. COMMAND | B4 | PB5/INT5# | |
A5 | PC3/INT1# | 3. DATA (B11端子へ4.7kΩで接続) |
B5 | PB4/INT4 | |
A6 | PC4/T0 | B6 | PB3/TxD1 | ||
A7 | PC5/T1 | B7 | PB2/RxD1 | ||
A8 | PC6/WR# | B8 | PB1/T2EX | ||
A9 | PC7/RD# | B9 | PB0/T2 | ||
A10 | SDA | B10 | SCL | ||
A11 | CLK24 | B11 | VCC(3.3V) | 5. 3.3V | |
A12 | 5V | B12 | 5V | ||
A13 | GND | 4. GND | B13 | GND |
PS PADコネクタ ============================= ‖○ ○ ○|○ ○ ○|○ ○ ○ ‖ (本体正面より見た図) \_______|________|________/ ピン 9 8 7 6 5 4 3 2 1
-- LINK FREE -- |
||
HOME | LAST |