xemu/config_spec.yml
Fred Hallock 03f40b1d8e
ui: Support controller peripherals and XMU devices (#1315)
* Added XMU Settings to the Input Screen

* Added Peripherals to config

* Prevent overwriting existing XMUs

* Added blockdev.h to try to fix the MacOS build

* Fixed some issues that antangelo pointed out

* Moved the peripheralType and param vars into the loop

* Moved fatx.h and fatx.c to ui\thirdparty\fatx

* Added Validation for Peripheral Settings

* Fixed some nits that were pointed out

* don't pass NULL into xemu_settings_set_string

* Changes following Matt's recommendations

* Changes to XMU FilePicker

* XMU image auto-bind logic refactor

* renamed peripheralType to peripheral_type

* removed unnecessary calls to g_strdup_printf and g_free

* Cleaned up some comments, removed an unnecessary variable

* handle overwrite prompt in Windows

* Fixed some code format and style inconsistencies

* More formatting fixes

* Fixed a few memory leaks

* qemu_access: check for Read and Write access

* Run clang-format

* Remove unused xemu_new_xmu declaration

* Fix use after free in rebind code
2023-12-18 01:04:14 -05:00

256 lines
4.9 KiB
YAML

general:
show_welcome:
type: bool
default: true
updates:
check:
type: bool
default: true
screenshot_dir: string
skip_boot_anim: bool
# throttle_io: bool
last_viewed_menu_index: integer
user_token: string
snapshots:
shortcuts:
f5: string
f6: string
f7: string
f8: string
filter_current_game: bool
input:
bindings:
port1: string
port2: string
port3: string
port4: string
peripherals:
port1:
peripheral_type_0: integer
peripheral_param_0: string
peripheral_type_1: integer
peripheral_param_1: string
port2:
peripheral_type_0: integer
peripheral_param_0: string
peripheral_type_1: integer
peripheral_param_1: string
port3:
peripheral_type_0: integer
peripheral_param_0: string
peripheral_type_1: integer
peripheral_param_1: string
port4:
peripheral_type_0: integer
peripheral_param_0: string
peripheral_type_1: integer
peripheral_param_1: string
gamecontrollerdb_path: string
auto_bind:
type: bool
default: true
background_input_capture: bool
keyboard_controller_scancode_map:
# Scancode reference : https://github.com/libsdl-org/SDL/blob/main/include/SDL_scancode.h
a:
type: integer
default: 4 # a
b:
type: integer
default: 5 # b
x:
type: integer
default: 27 # x
y:
type: integer
default: 28 # y
dpad_left:
type: integer
default: 80 # left
dpad_up:
type: integer
default: 82 # up
dpad_right:
type: integer
default: 79 # right
dpad_down:
type: integer
default: 81 # down
back:
type: integer
default: 42 # backspace
start:
type: integer
default: 40 # return
white:
type: integer
default: 30 # 1
black:
type: integer
default: 31 # 2
lstick_btn:
type: integer
default: 32 # 3
rstick_btn:
type: integer
default: 33 # 4
guide:
type: integer
default: 34 # 5
lstick_up:
type: integer
default: 8 # e
lstick_left:
type: integer
default: 22 # s
lstick_right:
type: integer
default: 9 # f
lstick_down:
type: integer
default: 7 # d
ltrigger:
type: integer
default: 26 # w
rstick_up:
type: integer
default: 12 # i
rstick_left:
type: integer
default: 13 # j
rstick_right:
type: integer
default: 15 # l
rstick_down:
type: integer
default: 14 # k
rtrigger:
type: integer
default: 18 # w
display:
quality:
surface_scale:
type: integer
default: 1
window:
fullscreen_on_startup: bool
fullscreen_exclusive: bool
startup_size:
type: enum
values: [last_used, 640x480, 1280x720, 1280x800, 1280x960, 1920x1080, 2560x1440, 2560x1600, 2560x1920, 3840x2160]
default: 1280x960
last_width:
type: integer
default: 640
last_height:
type: integer
default: 480
vsync:
type: bool
default: true
ui:
show_menubar:
type: bool
default: true
show_notifications:
type: bool
default: true
hide_cursor:
type: bool
default: true
use_animations:
type: bool
default: true
fit:
type: enum
values: [center, scale, stretch]
default: scale
aspect_ratio:
type: enum
values: [native, auto, 4x3, 16x9]
default: auto
scale:
type: integer
default: 1
auto_scale:
type: bool
default: true
debug:
video:
transparency:
type: bool
default: false
x_pos:
type: number
default: 100.0
y_pos:
type: number
default: 100.0
x_winsize:
type: number
default: 600.0
y_winsize:
type: number
default: 150.0
advanced_tree_state:
type: bool
default: false
audio:
use_dsp: bool
volume_limit:
type: number
default: 1
net:
enable: bool
backend:
type: enum
values: [nat, udp, pcap]
default: nat
pcap:
netif: string
udp:
bind_addr:
type: string
default: 0.0.0.0:9368
remote_addr:
type: string
default: 1.2.3.4:9368
nat:
forward_ports:
type: array
items:
host: integer
guest: integer
protocol:
type: enum
values: [tcp, udp]
default: tcp
sys:
mem_limit:
type: enum
values: ['64', '128']
default: '64'
avpack:
type: enum
values: [scart, hdtv, vga, rfu, svideo, composite, none]
default: hdtv
files:
bootrom_path: string
flashrom_path: string
eeprom_path: string
hdd_path: string
dvd_path: string
perf:
hard_fpu:
type: bool
default: true
cache_shaders:
type: bool
default: true