No announcement yet.

How can I create more HID channels?

  • Filter
  • Time
  • Show
Clear All
new posts

  • How can I create more HID channels?

    More and more games such as Trine 2 and The Cave are supporting up to three players and I like all those players to hold a controller. However, although the game supports it, I can't select more then two HID channels in Osculator. It would be nice if there were at least four channels (same as most consoles).

    So my question, how can I create more HID channels to accomplish this?

  • #2
    Hi Mark,

    The number of HID channel is fixed and dependent of the Virtual HID Joystick kernel extension.
    I like your suggestion of having 4 channels, so I can try to bump it and send you a build.
    Would you like to test it for me on a game?
    If that's ok I will contact you by email.



    • #3
      Thanks for your quick reply (you were not lying about the great support stuff in the license). I'll be happy to try it out. Trine 2 works fine btw and I also got The Cave (MAC) working which is just awesome.


      • #4
        Thank you Mark!
        I'm happy to hear those greet games are working with OSCulator.
        You will receive a build as soon as it is uploaded.



        • #5
          Hi Cam,

          It all went extremely smooth. The Build asked me for an upgrade of the kernel from 2.1 to 2.2, I agreed. The App booted with all my presets still there and with now 4 HID channels to choose from (without reboot). Thanks a bunch! I am going to try and test it out in a game now.

          - Mark


          • #6
            Awesome, I'm looking forward to reading from you.


            • #7
              Regarding build 2.12.8


              So I tested it with the MAC game Trine 2 and these are my findings:
              1. The HID 3/4 channel do not work. In game it does show the two new virtual gamepads 3 and 4 but it never acts like a third or fourth controller it just replaces the first or second player. For instance, let's say I put the controls for player 3 on channel HID 3, when I press the 'start' button the action in game will register it as a start button for HID channel 1. Pretty weird huh?

              2. A weird bug which I don't think you can fix. In Trine 2 if you use your Classic Wii Controller (the Nunchuck works just fine) the Joystick-2 does not work properly. When you choose a Wizard nothing is wrong, however if you choose a knight or the night elf the left side is not recognized. Meaning, let's say you are trying to shoot an arrow you can never shoot straight left, or hold a shield straight left. I tried swapping the left and right analog stick, thinking perhaps the analog stick wasn't registering it properly but the other one acted the exact same way. When I check the Quick Look, it does register the events properly. As a sidenote, yes walking left and right works just fine.


              • #8
                Thank you Mark for the feedback.
                I will try to see if there's more to it than just bumping the count of HID channels. For some reason a developper tools is broken on Mountain Lion which limits my debugging, so I will have to wait until Monday to get access to a machine running 10.6. I will keep you posted!


                • #9
                  Discovered another bug.

                  3. When you only use a Wii Remote, it all works well. When you then attach a Nunchuck it will not record any buttons. Remove the Nunchuck and it records the proper buttons again. I don't know how to disconnect a controller individually so I restarted the application and after pairing. All gets recorded again including the Nunchuck. However the other way around seems to work. When you are paired with the Nunchuck controller already attached you can safely detach it and attach it again.
                  4. How do you disconnect a controller individually?


                  • #10
                    3: I will have a look at this in more details.
                    4: Just hold the power button for a couple of seconds. You can also "pause" an individual controller, see the "enable" column in the Wiimote drawer, uncheck the box for the Wiimote you want to pause.


                    • #11
                      I have identified a possible cause for problem #1 and currently uploading a new version for you.


                      • #12
                        3. Thank you.
                        4. The power button worked.

                        2. This not only concerns Trine 2 but also The Cave. The controller sticks of the Classic Controllers act differently then the Nunchuck stick. In the cave the difference is noticeable due the fact you run faster when you walk left then walk right (with the nunchuck there is no difference). Also the character behaves differently when you put joystick-1 left up and joystick-1 right up (this should be the same but in other directions).


                        • #13
                          About problem #2: I will try to reproduce this problem in Trine 2, but I fear I can not do a lot about it. Are you sure the file is correctly configured? If you want to can send your OSCulator file to my email.


                          • #14
                            Investigating point #2 using the Quick Look I have a theory what is causing it:

                            Classing Wiimote:
                            (LEFT X) Putting the stick all the way to the left gives a value 0.12 (shouldn't this be zero?)
                            (RIGHT X) Putting the stick all the way to the right gives a value 0.96

                            Left X : 0.01 (close to zero so good)
                            Right X : 1.0 (perfect)

                            Going to check Y value as well:
                            CY (Classic Wiimote Y [up,down]) : 0.98, 0.12
                            NY (Nunchuck Y [up, down]) : 1.0, 0.0 (perfect)

                            Is there a way you can calibrate?


                            • #15
                              Good catch.
                              You mileage may vary, but some controllers don't have exactly the same range.
                              OSCulator uses the controller's built-in calibration, but it seems Nintendo uses some more calibration.

                              You can adjust the range of values by changing the values of input and output "scalings". To do this, flip to the Scalings Page (Command-F) or choose from the View menu. You should be able to get your desired range by entering the values you measured in the input min and max fields. Use the Quick Look tool to see the adjustments live.