Ich schaute in die Quelle von MAME und leider scheint es nicht zu unterstützen, es sieht aus wie die iCade Jungs waren die ersten, die es doch denken mussten. Ich sehe zwei Optionen:
-
Machen Sie einen Patch und fügen Sie diese Fähigkeit zur Quelle von MAME hinzu. (Ich bin eigentlich auf diese Liste der Hobby-Coding-Projekte, wenn ich um es herum)
-
Verwenden Sie ein Zwischenprogramm, um die Schlüsselimpulse in Schlüsselpressen zu übersetzen.
Option 2 ist die einfachere Lösung, hier ist mein Stab bei es mit AutoHotKey:
; This is a program to translate the iCade to normal button presses. Use with ; the MAME controller configuration posted with this file at ; http://gaming.stackexchange.com/questions/24774/icade-bluetooth-keyboard-mappings-for-mame ; Press END to terminate script ; iCade layout, first letter is the pressed signal, the second key is the ; released signal. ; ; Joystick ; ; w, e ; ; a, qd, c ; ; x, z ; ; Buttons ; ; (1 red) y, t (2 blk) u, f (3 blk) i, m (4 wht) o, g ; ; (5 red) h, r (6 blk) j, n (7 blk) k, p (8 wht) l, v ; If it is not sending commands try another send mode. ; AutoHotKey and MAME have been known to be problematic on Win7. ; You may need to totally disable UAC and reboot before it will work. ;SendMode Play ;SendMode Input end::ExitApp #IfWinActive ahk_class MAME w::Send {Blind}{Up downtemp} e::Send {Blind}{Up up} a::Send {Blind}{Left downtemp} q::Send {Blind}{Left up} d::Send {Blind}{Right downtemp} c::Send {Blind}{Right up} x::Send {Blind}{Down downtemp} z::Send {Blind}{Down up} y::Send {Blind}{1 downtemp} ; Red top row t::Send {Blind}{1 up} ; Red top row u::Send {Blind}{2 downtemp} ; Left black top row f::Send {Blind}{2 up} ; Left black top row i::Send {Blind}{3 downtemp} ; Right black top row m::Send {Blind}{3 up} ; Right black top row o::Send {Blind}{4 downtemp} ; White top row g::Send {Blind}{4 up} ; White top row h::Send {Blind}{5 downtemp} ; Red bottom row r::Send {Blind}{5 up} ; Red bottom row j::Send {Blind}{6 downtemp} ; Left black bottom row n::Send {Blind}{6 up } ; Left black bottom row k::Send {Blind}{7 downtemp} ; Right black bottom row p::Send {Blind}{7 up} ; Right black bottom row l::Send {Blind}{8 downtemp} ; White bottom row v::Send {Blind}{8 up} ; White bottom row
Hier ist eine Pre-Setup-Konfigurationsdatei, lass es einfach in den Ordner ctrlr mit dem Namen icade.cfg
und startet MAME mit der switch -ctrlr icade
<?xml version="1.0"?> <!-- iCade input configuration file --> <!-- Requires the AutoHotKey script at http://gaming.stackexchange.com/questions/24774/icade-bluetooth-keyboard-mappings-for-mame --> <mameconfig version="10"> <system name="default"> <input> <port type="P1_JOYSTICK_UP"> <newseq type="standard"> KEYCODE_UP </newseq> </port> <port type="P1_JOYSTICK_DOWN"> <newseq type="standard"> KEYCODE_DOWN </newseq> </port> <port type="P1_JOYSTICK_LEFT"> <newseq type="standard"> KEYCODE_LEFT </newseq> </port> <port type="P1_JOYSTICK_RIGHT"> <newseq type="standard"> KEYCODE_RIGHT </newseq> </port> <port type="P1_BUTTON1"> <newseq type="standard"> KEYCODE_1 </newseq> </port> <port type="P1_BUTTON2"> <newseq type="standard"> KEYCODE_2 </newseq> </port> <port type="P1_BUTTON3"> <newseq type="standard"> KEYCODE_3 </newseq> </port> <port type="P1_BUTTON4"> <newseq type="standard"> KEYCODE_5 </newseq> </port> <port type="P1_BUTTON5"> <newseq type="standard"> KEYCODE_6 </newseq> </port> <port type="P1_BUTTON6"> <newseq type="standard"> KEYCODE_7 </newseq> </port> <port type="P1_START"> <newseq type="standard"> KEYCODE_4 </newseq> </port> <port type="START1"> <newseq type="standard"> KEYCODE_4 </newseq> </port> <port type="COIN1"> <newseq type="standard"> KEYCODE_8 </newseq> </port> </input> </system> <system name="neogeo"> <input><port type="P1_BUTTON1"> <newseq type="standard"> KEYCODE_1 </newseq> </port> <port type="P1_BUTTON2"> <newseq type="standard"> KEYCODE_2 </newseq> </port> <port type="P1_BUTTON3"> <newseq type="standard"> KEYCODE_3 </newseq> </port> <port type="P1_BUTTON4"> <newseq type="standard"> KEYCODE_4 </newseq> </port> <port type="P1_BUTTON5"> <newseq type="standard"> KEYCODE_5 </newseq> </port> <port type="P1_BUTTON6"> <newseq type="standard"> KEYCODE_6 </newseq> </port> <port type="P1_BUTTON7"> <newseq type="standard"> KEYCODE_7 </newseq> </port> <port type="P1_BUTTON8"> <newseq type="standard"> KEYCODE_8 </newseq> </port> </input> </system> </mameconfig>