How to use iCade on a Mac

Discussion in 'General Game Discussion and Questions' started by Adams Immersive, Oct 15, 2014.

  1. Adams Immersive

    Adams Immersive Well-Known Member
    Patreon Bronze

    Dec 5, 2008
    1,718
    5
    38
    Freelance interactive design and programming
    Ohio
    I've mentioned this in the past and gotten requests for more detail. Here you go!

    To make my iCade Core work with Mac games, I use the ControllerMate (I think it has a free trial?) which lets you "build your own" controller drivers for just about anything. All by drag-and-dropping programming logic and "wiring" it together like a flowchart. (I use it to add short-press vs. long-press functions to all my mouse/joystick buttons for example. It auto-detects which game is running so you can have both global and game-specific settings.)

    I love ControllerMate (one of the reasons I prefer gaming on Mac to Windows) but it's not for everyone (try before you buy!) l enjoy dragging building blocks to make some complex solution--it's like a game to me--but it's too much work for some. So I have attached a .cmate file (with example screenshot) for my iCade setup. That should help get you started.

    Basically the way it works is:

    - You make a custom Driver Configuration that suppresses the unwanted keystrokes iCade normally sends. (Select All and set all functions to None.)

    - In a Programming page, for each button or orthogonal stick direction, you use an On/Off Latch block to trigger the desired keystroke or mouse action. (Because the iCade sends separate On and Off keystrokes.)

    - You could assign custom keystrokes to diagonal directions, but I've never needed to. (It normally just sends the vertical and horizontal keys together, which is what games expect.)

    - All of the above can go into a Group so you can easily toggle it, or make it active automatically for certain games. (You can make subgroups specific to different games--I have one for Pinball games for instance. I think I'll make one to use as a DVD/iTunes/media remote too! The perfect coffee table video control!)

    The attached file assigns the stick to the arrow keys, with buttons for Space, C, Return and Shift. (I didn't assign every button, but you can Copy and Paste.)

    (P.S. To do the reverse--use your Mac gamepad to control iOS games by pretending to be an iCade--try Simul80. It doesn't replace an MFi controller, but it's neat to use my Logitech gamepad with iOS games on projector--and no jailbreak needed. And if you're a developer, you can use it to test iCade support without owning one.)
     

    Attached Files:

  2. Adams Immersive

    Adams Immersive Well-Known Member
    Patreon Bronze

    Dec 5, 2008
    1,718
    5
    38
    Freelance interactive design and programming
    Ohio
    Small update: I've had inquiries about making this work in Windows, with a Mac emulator (openemu). I would guess that is impossible/unsupported, but OrderedBytes (maker of ControllerMate) would be the ones to know for sure whether ControllerMate works with emulators.
     
  3. mameplayer

    mameplayer New Member

    Mar 4, 2016
    2
    0
    0
    Hi,
    Actually what I would like to do is to connect icade Core to a Mac computer in order to use it as a game controller for Openemu. Openemu is native Mac software that is used to emulate different game platforms including MAME. Do you think is possible?
    Icade core is paired with the Mac and your controllermate script is running correctly. The output box of controllermate shows the modified output when using the icade core stick and buttons so the scripts works perfectly.
    However I have not been able of using it with MAME games in Openemu. But I have been able to play connecting a bluetooth keyboard as well as with a normal one. So, in theory, as Icade behaves as a keyboard too it should work. What do you think?
     
  4. mameplayer

    mameplayer New Member

    Mar 4, 2016
    2
    0
    0
    Thank you for your reply.
    I will ask them as the icade is not listed in their website as a supported device.
    Regards.
     
  5. Adams Immersive

    Adams Immersive Well-Known Member
    Patreon Bronze

    Dec 5, 2008
    1,718
    5
    38
    Freelance interactive design and programming
    Ohio
    I agree. In theory that sounds like it should work, might be a question for the ControllerMate forums.

    I don't think game pad companion will work, because every iCade button and direction is actually two keys representing up and down; an unusual setup. ControllerMate allows resolving that into ordinary presses.
     
  6. djsuit

    djsuit New Member

    Apr 29, 2018
    1
    0
    0
    Hi Adam,

    Thank you very, very much for this perfectly working solution! One question: Is it possible to program the keys for 4 way games only (like pacman, mspacman) etc? The diagonals should not be functioning at all if I understand correctly. I've used your files but so far have been unable to program a setup like this. Can you please help? Thank you and thanks again for a fantastic way to use my icade again!

    Hans
     
  7. Adams Immersive

    Adams Immersive Well-Known Member
    Patreon Bronze

    Dec 5, 2008
    1,718
    5
    38
    Freelance interactive design and programming
    Ohio
    Glad it was helpful!

    If you want the joystick to stop sending signals when you move into a diagonal direction (instead of the usual combination of both signals—say, up and left at the same time), then you'd have to custom-program that in ControllerMate. Sounds complicated to me, but doable! I can think of a few approaches. On/Off Group might be one way to do it (I've never played with that)

    In the attached image I tried doing it (untested!) with a bunch of boolean logic. Look at the "NEW" blocks I made connecting Right and Down. In theory, if BOTH Right and Down signals are On, the result will be an Off signal to cancel both of them. But test it before you make all 4 diagonals, it's likely I didn't get this right on the first try!

    The idea is that the single new "AND" block I attached directly to each arrow key will ONLY trigger that key to be pressed if BOTH the iCade signal is On (from the Latch) AND the signal is On from the new "Diagonal Check" blocks. That pair of (in theory) sends an On signal only when there's NOT a diagonal (both Right AND Down from the iCade Latch) being detected.

    Notice I gave each key's new "AND" a third input (default is 2 but can be changed in Properties). It's unused in the screenshot. But you'd need that to wire up the output from the OTHER Diagonal Checks I didn't yet make: because each arrow key is affected by two possible diagonals.

    So the end result (for Down) would be, "Turn on the Down key IF ALL THREE are true: a) iCade Latch is sending Down, 2) Right-Down diagonal is NOT detected, and 3) Left-Down diagonal is NOT detected."

    It would be 12 new logic blocks added in total if you did this for all 4 diagonals.

    Good luck!
     

    Attached Files:

Share This Page