74 lines
3.9 KiB
INI
74 lines
3.9 KiB
INI
--[[
|
|
*
|
|
* Singe 3
|
|
* Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 3
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
* 02110-1301, USA.
|
|
*
|
|
*
|
|
--]]
|
|
|
|
|
|
-- Default Mappings
|
|
|
|
-- How far an axis must move before it counts as pressed, in raw axis units: SDL reports 32767 at
|
|
-- full deflection, so 15000 is a little under half way. It covers every axis of every gamepad,
|
|
-- the two analogue triggers included.
|
|
DEAD_ZONE = 15000
|
|
|
|
-- One axis at a time, for a stiff stick or a worn trigger, in the same raw units. Each entry is
|
|
-- { axis, dead zone }, where the axis is any GAMEPAD_N axis entry -- the axis itself or either of
|
|
-- its two directions, which all name the same axis. Anything not listed keeps DEAD_ZONE.
|
|
DEAD_ZONES = {
|
|
-- { GAMEPAD_0.AXIS_LEFT_X, 8000 },
|
|
-- { GAMEPAD_0.AXIS_LEFT_Y, 8000 },
|
|
}
|
|
|
|
-- How far an analogue trigger must travel before it counts as a button, as a per cent of full
|
|
-- travel: Hypseus's unit, where its own default is 99.5. Zero leaves the triggers on DEAD_ZONE,
|
|
-- which is what Singe has always given them, and --trigger_threshold on the command line wins over
|
|
-- whatever is set here. 15000 raw units is 45.8 per cent, for comparison.
|
|
TRIGGER_THRESHOLD = 0
|
|
|
|
-- One table per switch, in the order the engine numbers them (SWITCH_UP = 0 ...).
|
|
-- Each entry is a { name, value } pair from the SCANCODE, GAMEPAD_N, or MOUSE_N tables.
|
|
INPUT_UP = { SCANCODE.UP, SCANCODE.KP_8, GAMEPAD_0.AXIS_LEFT_Y_U, GAMEPAD_0.AXIS_RIGHT_Y_U, GAMEPAD_0.DPAD_UP }
|
|
INPUT_LEFT = { SCANCODE.LEFT, SCANCODE.KP_4, GAMEPAD_0.AXIS_LEFT_X_L, GAMEPAD_0.AXIS_RIGHT_X_L, GAMEPAD_0.DPAD_LEFT }
|
|
INPUT_DOWN = { SCANCODE.DOWN, SCANCODE.KP_2, GAMEPAD_0.AXIS_LEFT_Y_D, GAMEPAD_0.AXIS_RIGHT_Y_D, GAMEPAD_0.DPAD_DOWN }
|
|
INPUT_RIGHT = { SCANCODE.RIGHT, SCANCODE.KP_6, GAMEPAD_0.AXIS_LEFT_X_R, GAMEPAD_0.AXIS_RIGHT_X_R, GAMEPAD_0.DPAD_RIGHT }
|
|
INPUT_1P_START = { SCANCODE.MAIN_1, GAMEPAD_0.BUTTON_RIGHT_BUMPER }
|
|
INPUT_2P_START = { SCANCODE.MAIN_2 }
|
|
INPUT_ACTION_1 = { SCANCODE.SPACE, SCANCODE.LCTRL, GAMEPAD_0.BUTTON_A, MOUSE_0.BUTTON_RIGHT }
|
|
INPUT_ACTION_2 = { SCANCODE.LALT, GAMEPAD_0.BUTTON_B, MOUSE_0.BUTTON_MIDDLE }
|
|
INPUT_ACTION_3 = { SCANCODE.LSHIFT, GAMEPAD_0.BUTTON_X, MOUSE_0.BUTTON_LEFT }
|
|
INPUT_1P_COIN = { SCANCODE.MAIN_5, SCANCODE.C, GAMEPAD_0.BUTTON_LEFT_BUMPER }
|
|
INPUT_2P_COIN = { SCANCODE.MAIN_6 }
|
|
INPUT_SKILL_EASY = { SCANCODE.KP_DIVIDE }
|
|
INPUT_SKILL_MEDIUM = { SCANCODE.KP_MULTIPLY }
|
|
INPUT_SKILL_HARD = { SCANCODE.KP_MINUS }
|
|
INPUT_SERVICE = { SCANCODE.MAIN_9 }
|
|
INPUT_TEST_MODE = { SCANCODE.F2 }
|
|
INPUT_RESET_CPU = { SCANCODE.F3 }
|
|
INPUT_SCREENSHOT = { SCANCODE.F12, SCANCODE.F11, GAMEPAD_0.BUTTON_BACK } -- F12 is taken by some desktops and debuggers, so F11 works too.
|
|
INPUT_QUIT = { SCANCODE.ESCAPE, SCANCODE.Q }
|
|
INPUT_PAUSE = { SCANCODE.P, GAMEPAD_0.BUTTON_START }
|
|
INPUT_CONSOLE = { SCANCODE.GRAVE }
|
|
INPUT_ACTION_4 = { SCANCODE.RSHIFT, GAMEPAD_0.BUTTON_Y, MOUSE_0.BUTTON_X1 }
|
|
INPUT_TILT = { SCANCODE.T }
|
|
INPUT_GRAB = { SCANCODE.G }
|
|
-- Not a control: the engine raises this one itself when a mouse or a light gun is unplugged, so a
|
|
-- gun game can say so on screen. Bind a key to it as well if you want to test what the game does.
|
|
INPUT_MOUSE_DISCONNECT = { }
|