Hello!
I want to write a game which takes input from the official DVD remote control. (I have a newer remote without a dongle)
The good thing is, that I can already read some of the buttons just as if they were pressed on a controller on Gameport 0.
The bad thing is that I cannot read all the other buttons (like the numbers or the "enter"-button).
Does anyone have any suggestions on how I can read all buttons?
Even a PS2Linux sollution would be fine.
Mr.M
DVD remote control
more info
Hm, I'll explain what I tried so far ... even silly suggestions and guesses are welcome. :
(The goal still is to read all buttons of the official PS2 DVD remote.)
(And yes, I know that this is not a PS2Linux forum...)
My first assumption was that all buttons can be read from the Gameport, and just some sort of device-mode was hiding them from me. The PS2Linux Kernelmodule for the Gamepads accepts "offsets" for switching controller modes (for example from analog to digital on the DS2Pad). So I simply tried out all offsets from 0 to 300 and kept reading the device-file - without success.
Then I assumed that one of the newer kernels had a seperate kernel module for the DVD remote. I downloaded and compiled the xrhino-kernel and also the bbnavigator kernel. Both had kernelmodules called "remote controller" or "remote controller 2". Both modules terminated at a version check when trying to insert them. After I eliminated the version-check and recompiled, they terminated with something like "SBIOS RPC fail".
(I am not even sure, if these kernel modules are intended for the DVD-remote at all)
The last thing I tried was to decode the ir-signals on my own. Unfortunately I did not know how to low-level access the built-in IR-port of the PS2. Anyway I suppose that the ir-signals from this port get decoded by hardware, because you can switch on the Playstation2 with the DVD remote.
Mr.M
(The goal still is to read all buttons of the official PS2 DVD remote.)
(And yes, I know that this is not a PS2Linux forum...)
My first assumption was that all buttons can be read from the Gameport, and just some sort of device-mode was hiding them from me. The PS2Linux Kernelmodule for the Gamepads accepts "offsets" for switching controller modes (for example from analog to digital on the DS2Pad). So I simply tried out all offsets from 0 to 300 and kept reading the device-file - without success.
Then I assumed that one of the newer kernels had a seperate kernel module for the DVD remote. I downloaded and compiled the xrhino-kernel and also the bbnavigator kernel. Both had kernelmodules called "remote controller" or "remote controller 2". Both modules terminated at a version check when trying to insert them. After I eliminated the version-check and recompiled, they terminated with something like "SBIOS RPC fail".
(I am not even sure, if these kernel modules are intended for the DVD-remote at all)
The last thing I tried was to decode the ir-signals on my own. Unfortunately I did not know how to low-level access the built-in IR-port of the PS2. Anyway I suppose that the ir-signals from this port get decoded by hardware, because you can switch on the Playstation2 with the DVD remote.
Mr.M
Well the kernel modules _possibly_ are for the DVD remote (don't see why not) but you probably need the RTE as provided by the BBN software, the SBIOS stuff is just the exported RTE functionality to hide the IOP. Obviously only the latest version supports the calls necessary to read data from the remote. Without it it just won't work, that is why there is a version check in there.
I would guess things which use the remote need a specific IOP driver to do so, the remote afaik emulates the operation of a pad unless no doubt it is sent a special command to not emulate a pad :) It's probably safe to say that by default pad libs will not be able to utilise the full remote as it will only talk to it like a pad.
Your best bet is to try and find this said IOP module, either in the BBN software (but I am guessing you don't have that) or in the dvdplayer update. Now from a cursory look the dvdplayer update has an external irx but it doesn't look valid, nor does it look encrypted so no idea what is going on there. You would probably find a real irx in the main elf itself, but that is encrypted so I will leave that as an exercise for the reader :)
Have fun...
I would guess things which use the remote need a specific IOP driver to do so, the remote afaik emulates the operation of a pad unless no doubt it is sent a special command to not emulate a pad :) It's probably safe to say that by default pad libs will not be able to utilise the full remote as it will only talk to it like a pad.
Your best bet is to try and find this said IOP module, either in the BBN software (but I am guessing you don't have that) or in the dvdplayer update. Now from a cursory look the dvdplayer update has an external irx but it doesn't look valid, nor does it look encrypted so no idea what is going on there. You would probably find a real irx in the main elf itself, but that is encrypted so I will leave that as an exercise for the reader :)
Have fun...