mirror of
https://github.com/libretro/Libretro-Supermodel.git
synced 2026-11-10 03:01:26 -10:00
No keyboard mapping has ever worked in this core. CInputSystem strips the KEY_ prefix before calling GetKeyIndex(), so the core received "D" while its table compared "KEY_D", and every KEY_* entry in Supermodel.ini was ignored. The keyboard only worked through RetroArch's keyboard-to-RetroPad binds. GetKeyIndex() now covers every key name Supermodel accepts (as in the SDL build, the generic SHIFT, CTRL and ALT have no single libretro key and stay unmapped). It returns the key's position in the table rather than a RETROK code, because CInputSystem uses the value to index its key source arrays; IsKeyPressed() and GetKeyName() translate it back. The default mappings keep the keys that cannot clash with RetroArch's default binds: 1-8 (start, coin, service, test) and the arrow keys, which only repeat what the D-pad already does. The letter keys and Space are dropped. With RetroArch's default binds they would have fired together with the pad buttons the same keys are bound to (in Virtua Fighter 3, A would press Punch and Guard together), and F is RetroArch's fullscreen hotkey. Players keep today's behaviour, and KEY_* entries added to Supermodel.ini now work. The bundled Supermodel.ini is regenerated to match. Tested: Virtua Fighter 3 with RetroArch's default keyboard binds: 3 inserts a coin and 1 starts, arrows move, z/x/a/s each trigger one action through the pad binds, d does nothing and f only toggles fullscreen, 6 enters and leaves the test menu. Star Wars Trilogy, Scud Race and The Lost World load and run.
300 lines
9.1 KiB
INI
300 lines
9.1 KiB
INI
;;
|
|
;; Supermodel Configuration File
|
|
;; Default settings for Version 0.3a.
|
|
;;
|
|
|
|
|
|
;
|
|
; Quick Overview
|
|
; --------------
|
|
;
|
|
; All settings are case sensitive. Numbers must be integers. Check your
|
|
; spelling carefully because invalid settings are silently ignored. To verify
|
|
; that your settings are being parsed correctly, check the contents of
|
|
; error.log.
|
|
;
|
|
; Global options apply to all games. To create configuration profiles for
|
|
; individual games, place settings under sections with the same name as the
|
|
; corresponding MAME ROM set, like so:
|
|
;
|
|
; ; Scud Race
|
|
; [ scud ]
|
|
;
|
|
; SoundVolume = 50
|
|
; MusicVolume = 200
|
|
; ; ... etc. ...
|
|
;
|
|
; Input mappings are an exceptional case: they are only allowed in the global
|
|
; section. Per-game input mappings are not supported.
|
|
;
|
|
; For a list of all valid settings, please consult README.txt. Only default
|
|
; inputs are assigned here.
|
|
;
|
|
|
|
|
|
[ Global ] ; Input settings can only be read from the global section!
|
|
|
|
; Global Settings
|
|
GameXMLFile = Config/Games.xml
|
|
InitStateFile =
|
|
PowerPCFrequency = 0
|
|
MultiThreaded = 1
|
|
GPUMultiThreaded = 1
|
|
MultiTexture = 0
|
|
VertexShader =
|
|
FragmentShader =
|
|
EmulateSound = 1
|
|
EmulateDSB = 1
|
|
SoundVolume = 100
|
|
MusicVolume = 100
|
|
SoundFreq = 57.5242
|
|
LegacySoundDSP = 0
|
|
Balance = 0
|
|
BalanceLeftRight = 0
|
|
BalanceFrontRear = 0
|
|
NbSoundChannels = 4
|
|
|
|
; Video/Display Settings
|
|
New3DEngine = 1
|
|
QuadRendering = 0
|
|
XResolution = 1924
|
|
YResolution = 768
|
|
FullScreen = 0
|
|
BorderlessWindow = 0
|
|
Supersampling = 1
|
|
CRTcolors = 0
|
|
UpscaleMode = 2
|
|
WideScreen = 0
|
|
Stretch = 0
|
|
WideBackground = 0
|
|
VSync = 1
|
|
Throttle = 1
|
|
RefreshRate = 60
|
|
ShowFrameRate = 0
|
|
Crosshairs = 0
|
|
CrosshairStyle = vector
|
|
NoWhiteFlash = 0
|
|
FlipStereo = 0
|
|
|
|
; Input Settings
|
|
InputSystem = libretro
|
|
InputDigitalSensitivity = 25
|
|
InputDigitalDecaySpeed = 50
|
|
InputMouseXDeadZone = 0
|
|
InputMouseYDeadZone = 0
|
|
InputMouseZDeadZone = 0
|
|
|
|
|
|
; Common
|
|
InputStart1 = "KEY_1,JOY1_BUTTON9"
|
|
InputStart2 = "KEY_2,JOY2_BUTTON9"
|
|
InputCoin1 = "KEY_3,JOY1_BUTTON10"
|
|
InputCoin2 = "KEY_4,JOY2_BUTTON10"
|
|
InputServiceA = "KEY_5,JOY1_BUTTON21" ; Changed from BUTTON5 to BUTTON21
|
|
InputServiceB = "KEY_7,JOY1_BUTTON23" ; Changed from BUTTON7 to BUTTON23
|
|
InputTestA = "KEY_6,JOY1_BUTTON22" ; Changed from BUTTON6 to BUTTON22
|
|
InputTestB = "KEY_8,JOY1_BUTTON24" ; Changed from BUTTON8 to BUTTON24
|
|
|
|
; 4-way digital joysticks
|
|
; We map D-Pad to BUTTON11-14 instead of POV UP/DOWN
|
|
InputJoyUp = "KEY_UP,JOY1_BUTTON11"
|
|
InputJoyDown = "KEY_DOWN,JOY1_BUTTON12"
|
|
InputJoyLeft = "KEY_LEFT,JOY1_BUTTON13"
|
|
InputJoyRight = "KEY_RIGHT,JOY1_BUTTON14"
|
|
|
|
; Player 2 (if needed)
|
|
InputJoyUp2 = "JOY2_BUTTON11"
|
|
InputJoyDown2 = "JOY2_BUTTON12"
|
|
InputJoyLeft2 = "JOY2_BUTTON13"
|
|
InputJoyRight2 = "JOY2_BUTTON14"
|
|
|
|
; Fighting game buttons
|
|
InputPunch = "JOY1_BUTTON1"
|
|
InputKick = "JOY1_BUTTON2"
|
|
InputGuard = "JOY1_BUTTON3"
|
|
InputEscape = "JOY1_BUTTON4"
|
|
InputPunch2 = "JOY2_BUTTON1"
|
|
InputKick2 = "JOY2_BUTTON2"
|
|
InputGuard2 = "JOY2_BUTTON3"
|
|
InputEscape2 = "JOY2_BUTTON4"
|
|
|
|
; Spikeout buttons
|
|
InputShift = "JOY1_BUTTON1"
|
|
InputBeat = "JOY1_BUTTON2"
|
|
InputCharge = "JOY1_BUTTON3"
|
|
InputJump = "JOY1_BUTTON4"
|
|
|
|
; Virtua Striker buttons
|
|
InputShortPass = "JOY1_BUTTON1"
|
|
InputLongPass = "JOY1_BUTTON2"
|
|
InputShoot = "JOY1_BUTTON3"
|
|
InputShortPass2 = "JOY2_BUTTON1"
|
|
InputLongPass2 = "JOY2_BUTTON2"
|
|
InputShoot2 = "JOY2_BUTTON3"
|
|
|
|
; Steering wheel
|
|
InputSteeringLeft = "KEY_LEFT" ; digital, turn wheel left
|
|
InputSteeringRight = "KEY_RIGHT" ; digital, turn wheel right
|
|
InputSteering = "JOY1_XAXIS" ; analog, full steering range
|
|
|
|
; Pedals
|
|
InputAccelerator = "KEY_UP,JOY1_UP"
|
|
InputBrake = "KEY_DOWN,JOY1_DOWN"
|
|
|
|
; Up/down shifter manual transmission (all racers)
|
|
InputGearShiftUp = "NONE" ; sequential shift up
|
|
InputGearShiftDown = "NONE" ; sequential shift down
|
|
|
|
; 4-Speed manual transmission (Daytona 2, Sega Rally 2, Scud Race)
|
|
InputGearShift1 = "JOY1_BUTTON5"
|
|
InputGearShift2 = "JOY1_BUTTON6"
|
|
InputGearShift3 = "JOY1_BUTTON7"
|
|
InputGearShift4 = "JOY1_BUTTON8"
|
|
InputGearShiftN = "NONE"
|
|
|
|
; VR4 view change buttons (Daytona 2, Le Mans 24, Scud Race)
|
|
InputVR1 = "JOY1_BUTTON1"
|
|
InputVR2 = "JOY1_BUTTON2"
|
|
InputVR3 = "JOY1_BUTTON3"
|
|
InputVR4 = "JOY1_BUTTON4"
|
|
|
|
; Single view change button (Dirt Devils, ECA, Harley-Davidson, Sega Rally 2)
|
|
InputViewChange = "JOY1_BUTTON1"
|
|
|
|
; Handbrake (Dirt Devils, Sega Rally 2)
|
|
InputHandBrake = "JOY1_BUTTON2"
|
|
|
|
; Harley-Davidson controls
|
|
InputRearBrake = "JOY1_BUTTON2"
|
|
InputMusicSelect = "JOY1_BUTTON3"
|
|
|
|
; Virtual On macros
|
|
InputTwinJoyTurnLeft = "JOY1_RXAXIS_NEG"
|
|
InputTwinJoyTurnRight = "JOY1_RXAXIS_POS"
|
|
InputTwinJoyForward = "KEY_UP"
|
|
InputTwinJoyReverse = "KEY_DOWN,JOY1_BUTTON12"
|
|
InputTwinJoyStrafeLeft = "KEY_LEFT,JOY1_BUTTON13"
|
|
InputTwinJoyStrafeRight = "KEY_RIGHT,JOY1_BUTTON14"
|
|
InputTwinJoyJump = "JOY1_BUTTON1"
|
|
InputTwinJoyCrouch = "JOY1_BUTTON2"
|
|
|
|
; Virtual On individual joystick mapping
|
|
InputTwinJoyLeft1 = "NONE"
|
|
InputTwinJoyLeft2 = "NONE"
|
|
InputTwinJoyRight1 = "NONE"
|
|
InputTwinJoyRight2 = "NONE"
|
|
InputTwinJoyUp1 = "NONE"
|
|
InputTwinJoyUp2 = "NONE"
|
|
InputTwinJoyDown1 = "NONE"
|
|
InputTwinJoyDown2 = "NONE"
|
|
|
|
; Virtual On buttons
|
|
InputTwinJoyShot1 = "JOY1_BUTTON5"
|
|
InputTwinJoyShot2 = "JOY1_BUTTON6"
|
|
InputTwinJoyTurbo1 = "JOY1_BUTTON7"
|
|
InputTwinJoyTurbo2 = "JOY1_BUTTON8"
|
|
|
|
; Analog joystick (Star Wars Trilogy)
|
|
InputAnalogJoyUp = "KEY_UP"
|
|
InputAnalogJoyDown = "KEY_DOWN,JOY1_BUTTON12"
|
|
InputAnalogJoyLeft = "KEY_LEFT,JOY1_BUTTON13"
|
|
InputAnalogJoyRight = "KEY_RIGHT,JOY1_BUTTON14"
|
|
InputAnalogJoyX = "MOUSE7_XAXIS" ; analog, full X axis (yoke: mouse or stick)
|
|
InputAnalogJoyY = "MOUSE7_YAXIS" ; analog, full Y axis (yoke: mouse or stick)
|
|
InputAnalogJoyTrigger = "MOUSE7_LEFT_BUTTON"
|
|
InputAnalogJoyEvent = "MOUSE7_RIGHT_BUTTON"
|
|
InputAnalogJoyTrigger2 = "MOUSE7_BUTTON4"
|
|
InputAnalogJoyEvent2 = "MOUSE7_BUTTON5"
|
|
|
|
; Light guns (Lost World)
|
|
InputGunLeft = "KEY_LEFT" ; digital, move gun left
|
|
InputGunRight = "KEY_RIGHT" ; digital, move gun right
|
|
InputGunUp = "KEY_UP" ; digital, move gun up
|
|
InputGunDown = "KEY_DOWN" ; digital, move gun down
|
|
InputGunX = "MOUSE_XAXIS,JOY1_XAXIS" ; analog, full X axis
|
|
InputGunY = "MOUSE_YAXIS,JOY1_YAXIS" ; analog, full Y axis
|
|
InputTrigger = "JOY1_BUTTON1,MOUSE_LEFT_BUTTON"
|
|
InputOffscreen = "JOY1_BUTTON2,MOUSE_RIGHT_BUTTON" ; point off-screen
|
|
InputAutoTrigger = 0 ; automatic reload when off-screen
|
|
InputGunLeft2 = "NONE"
|
|
InputGunRight2 = "NONE"
|
|
InputGunUp2 = "NONE"
|
|
InputGunDown2 = "NONE"
|
|
InputGunX2 = "JOY2_XAXIS"
|
|
InputGunY2 = "JOY2_YAXIS"
|
|
InputTrigger2 = "JOY2_BUTTON1"
|
|
InputOffscreen2 = "JOY2_BUTTON2"
|
|
InputAutoTrigger2 = 0
|
|
|
|
; Analog guns (Ocean Hunter, LA Machineguns)
|
|
InputAnalogGunLeft = "KEY_LEFT" ; digital, move gun left
|
|
InputAnalogGunRight = "KEY_RIGHT" ; digital, move gun right
|
|
InputAnalogGunUp = "KEY_UP" ; digital, move gun up
|
|
InputAnalogGunDown = "KEY_DOWN" ; digital, move gun down
|
|
InputAnalogGunX = "MOUSE5_XAXIS" ; analog, full X axis (P1 gun cursor)
|
|
InputAnalogGunY = "MOUSE5_YAXIS" ; analog, full Y axis (P1 gun cursor)
|
|
InputAnalogTriggerLeft = "MOUSE5_LEFT_BUTTON"
|
|
InputAnalogTriggerRight = "MOUSE5_RIGHT_BUTTON"
|
|
InputAnalogGunLeft2 = "NONE"
|
|
InputAnalogGunRight2 = "NONE"
|
|
InputAnalogGunUp2 = "NONE"
|
|
InputAnalogGunDown2 = "NONE"
|
|
InputAnalogGunX2 = "MOUSE6_XAXIS" ; analog, full X axis (P2 gun cursor)
|
|
InputAnalogGunY2 = "MOUSE6_YAXIS" ; analog, full Y axis (P2 gun cursor)
|
|
InputAnalogTriggerLeft2 = "MOUSE6_LEFT_BUTTON"
|
|
InputAnalogTriggerRight2 = "MOUSE6_RIGHT_BUTTON"
|
|
|
|
; Ski Champ controls
|
|
InputSkiLeft = "KEY_LEFT"
|
|
InputSkiRight = "KEY_RIGHT"
|
|
InputSkiUp = "KEY_UP"
|
|
InputSkiDown = "KEY_DOWN"
|
|
InputSkiX = "JOY1_XAXIS"
|
|
InputSkiY = "JOY1_YAXIS"
|
|
InputSkiPollLeft = "JOY1_BUTTON1"
|
|
InputSkiPollRight = "JOY1_BUTTON2"
|
|
InputSkiSelect1 = "JOY1_BUTTON3"
|
|
InputSkiSelect2 = "JOY1_BUTTON4"
|
|
InputSkiSelect3 = "JOY1_BUTTON5"
|
|
|
|
; Magical Truck Adventure controls
|
|
InputMagicalLeverUp1 = "KEY_UP"
|
|
InputMagicalLeverDown1 = "KEY_DOWN"
|
|
InputMagicalLeverUp2 = "NONE"
|
|
InputMagicalLeverDown2 = "NONE"
|
|
InputMagicalLever1 = "JOY1_YAXIS"
|
|
InputMagicalLever2 = "JOY2_YAXIS"
|
|
InputMagicalPedal1 = "JOY1_BUTTON1"
|
|
InputMagicalPedal2 = "JOY2_BUTTON1"
|
|
|
|
; Sega Bass Fishing / Get Bass controls
|
|
InputFishingRodLeft = "KEY_LEFT"
|
|
InputFishingRodRight = "KEY_RIGHT"
|
|
InputFishingRodUp = "KEY_UP"
|
|
InputFishingRodDown = "KEY_DOWN"
|
|
InputFishingStickLeft = "NONE"
|
|
InputFishingStickRight = "NONE"
|
|
InputFishingStickUp = "NONE"
|
|
InputFishingStickDown = "NONE"
|
|
InputFishingRodX = "JOY1_XAXIS"
|
|
InputFishingRodY = "JOY1_YAXIS"
|
|
InputFishingStickX = "JOY1_RXAXIS"
|
|
InputFishingStickY = "JOY1_RYAXIS"
|
|
InputFishingReel = "JOY1_ZAXIS_POS"
|
|
InputFishingCast = "JOY1_BUTTON1"
|
|
InputFishingSelect = "JOY1_BUTTON2"
|
|
|
|
ForceFeedback = 1
|
|
SDLConstForceMax = 100
|
|
SDLSelfCenterMax = 100
|
|
SDLFrictionMax = 100
|
|
SDLVibrateMax = 100
|
|
Outputs = libretro
|
|
|
|
|
|
; Network board - experimental build for win32 only
|
|
EmulateNet = 0
|
|
port_in = 1970
|
|
port_out = 1971
|
|
addr_out = "127.0.0.1"
|