Giter VIP home page Giter VIP logo

Comments (3)

samuelgr avatar samuelgr commented on June 10, 2024

Do you have some examples of these INI files and possibly more info on the spec? Are they always called dixi.ini or does it vary by game?

from xidi.

v00d00m4n avatar v00d00m4n commented on June 10, 2024

I customized it a little for couple of games, but yes i do have it:

[general]
onelayout = FALSE
dpadtoanalog = FALSE
keyboardandmouse = TRUE
mousespeed = 5

[sony_dualsense]
guid = 0CE6054C-0000-0000-0000-504944564944
pad_zaxisplus = pad_rxaxisplus
pad_zaxisminus = pad_rxaxisminus
pad_rxaxisplus = dev_null
pad_rxaxisminus = dev_null
pad_ryaxisplus = dev_null
pad_ryaxisminus = dev_null
pad_rzaxisplus = pad_ryaxisplus
pad_rzaxisminus = pad_ryaxisminus
pad_button0 = pad_button2
pad_button1 = pad_button0
pad_button2 = pad_button1
pad_button8 = pad_button12
pad_button9 = pad_button8
pad_button12 = pad_button9

[sony_dualshock4_a]
guid = 09CC054C-0000-0000-0000-504944564944
pad_zaxisplus = pad_rxaxisplus
pad_zaxisminus = pad_rxaxisminus
pad_rxaxisplus = dev_null
pad_rxaxisminus = dev_null
pad_ryaxisplus = dev_null
pad_ryaxisminus = dev_null
pad_rzaxisplus = pad_ryaxisplus
pad_rzaxisminus = pad_ryaxisminus
pad_button0 = pad_button2
pad_button1 = pad_button0
pad_button2 = pad_button1
pad_button8 = pad_button12
pad_button9 = pad_button8
pad_button12 = pad_button9

[sony_dualshock4_b]
guid = 05C4054C-0000-0000-0000-504944564944
pad_zaxisplus = pad_rxaxisplus
pad_zaxisminus = pad_rxaxisminus
pad_rxaxisplus = dev_null
pad_rxaxisminus = dev_null
pad_ryaxisplus = dev_null
pad_ryaxisminus = dev_null
pad_rzaxisplus = pad_ryaxisplus
pad_rzaxisminus = pad_ryaxisminus
pad_button0 = pad_button2
pad_button1 = pad_button0
pad_button2 = pad_button1
pad_button8 = pad_button12
pad_button9 = pad_button8
pad_button12 = pad_button9

[sony_dualshock4_c]
guid = 0BA0054C-0000-0000-0000-504944564944
pad_zaxisplus = pad_rxaxisplus
pad_zaxisminus = pad_rxaxisminus
pad_rxaxisplus = dev_null
pad_rxaxisminus = dev_null
pad_ryaxisplus = dev_null
pad_ryaxisminus = dev_null
pad_rzaxisplus = pad_ryaxisplus
pad_rzaxisminus = pad_ryaxisminus
pad_button0 = pad_button2
pad_button1 = pad_button0
pad_button2 = pad_button1
pad_button8 = pad_button12
pad_button9 = pad_button8
pad_button12 = pad_button9

[sony_dualshock3]
guid = 0268054C-0000-0000-0000-504944564944
pad_zaxisplus = pad_rxaxisplus
pad_zaxisminus = pad_rxaxisminus
pad_rxaxisplus = dev_null
pad_rxaxisminus = dev_null
pad_ryaxisplus = dev_null
pad_ryaxisminus = dev_null
pad_rzaxisplus = pad_ryaxisplus
pad_rzaxisminus = pad_ryaxisminus
pad_button0 = pad_button3
pad_button2 = pad_button0
pad_button3 = pad_button2
pad_button4 = pad_button6
pad_button5 = pad_button7
pad_button6 = pad_button4
pad_button7 = pad_button5
pad_button8 = pad_button9
pad_button9 = pad_button8

[nn_dualshock2_clone_a]
guid = 00060079-0000-0000-0000-504944564944
pad_button0 = pad_button3
pad_button2 = pad_button0
pad_button3 = pad_button2

[microsoft_xboxseries_a]
guid = 02FF045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11
pad_button10 = pad_button13
pad_button11 = pad_button12

[microsoft_xboxseries_b]
guid = 0B13045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11
pad_button10 = pad_button13
pad_button11 = pad_button12

[microsoft_xboxone_a]
guid = 0B05045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[microsoft_xboxone_b]
guid = 0B00045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[microsoft_xboxone_c]
guid = 02EA045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[microsoft_xboxone_d]
guid = 02E6045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[microsoft_xboxone_e]
guid = 02E3045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[microsoft_xboxone_f]
guid = 02E0045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[microsoft_xboxone_g]
guid = 02DD045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[microsoft_xboxone_h]
guid = 02D1045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[microsoft_xbox360_a]
guid = 02B6045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[microsoft_xbox360_b]
guid = 02A8045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[microsoft_xbox360_c]
guid = 02A1045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[microsoft_xbox360_d]
guid = 0292045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[microsoft_xbox360_e]
guid = 0291045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[microsoft_xbox360_f]
guid = 028F045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[microsoft_xbox360_g]
guid = 028E045E-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[nintendo_switchpro]
guid = 2009057E-0000-0000-0000-504944564944
pad_zaxisplus = pad_rxaxisplus
pad_zaxisminus = pad_rxaxisminus
pad_rzaxisplus = pad_ryaxisplus
pad_rzaxisminus = pad_ryaxisminus
pad_button0 = pad_button2
pad_button1 = pad_button3
pad_button2 = pad_button0
pad_button3 = pad_button1
pad_button4 = pad_button5
pad_button5 = pad_button7
pad_button6 = pad_button12
pad_button7 = pad_button13
pad_button8 = pad_button11
pad_button9 = pad_button10
pad_button10 = pad_button9
pad_button11 = pad_button8
pad_button12 = pad_button4
pad_button13 = pad_button6

[valve_steamcontroller]
guid = 11FF28DE-28DE-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[logitech_f310_a]
guid = C21D046D-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[logitech_f310_b]
guid = C216046D-0000-0000-0000-504944564944
pad_zaxisplus = pad_rxaxisplus
pad_zaxisminus = pad_rxaxisminus
pad_rzaxisplus = pad_ryaxisplus
pad_rzaxisminus = pad_ryaxisminus
pad_button0 = pad_button2
pad_button1 = pad_button0
pad_button2 = pad_button1

[logitech_f510_a]
guid = C21E046D-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[logitech_f510_b]
guid = C218046D-0000-0000-0000-504944564944
pad_zaxisplus = pad_rxaxisplus
pad_zaxisminus = pad_rxaxisminus
pad_rzaxisplus = pad_ryaxisplus
pad_rzaxisminus = pad_ryaxisminus
pad_button0 = pad_button2
pad_button1 = pad_button0
pad_button2 = pad_button1

[logitech_f710_a]
guid = C21F046D-0000-0000-0000-504944564944
pad_zaxisplus = pad_button6
pad_zaxisminus = pad_button7
pad_button6 = pad_button8
pad_button7 = pad_button9
pad_button8 = pad_button10
pad_button9 = pad_button11

[logitech_f710_b]
guid = C219046D-0000-0000-0000-504944564944
pad_zaxisplus = pad_rxaxisplus
pad_zaxisminus = pad_rxaxisminus
pad_rzaxisplus = pad_ryaxisplus
pad_rzaxisminus = pad_ryaxisminus
pad_button0 = pad_button2
pad_button1 = pad_button0
pad_button2 = pad_button1

[genesis_p65]
guid = 05232563-0000-0000-0000-504944564944
pad_zaxisplus = pad_rxaxisplus
pad_zaxisminus = pad_rxaxisminus
pad_rzaxisplus = pad_ryaxisplus
pad_rzaxisminus = pad_ryaxisminus
pad_button0 = pad_button3
pad_button2 = pad_button0
pad_button3 = pad_button2

[8bitdo_sn30proplus]
guid = 61022DC8-0000-0000-0000-504944564944
pad_zaxisplus = pad_rxaxisplus
pad_zaxisminus = pad_rxaxisminus
pad_rzaxisplus = pad_ryaxisplus
pad_rzaxisminus = pad_ryaxisminus
pad_button0 = pad_button1
pad_button1 = pad_button0
pad_button4 = pad_button2
pad_button6 = pad_button4
pad_button7 = pad_button5
pad_button8 = pad_button6
pad_button9 = pad_button7
pad_button10 = pad_button8
pad_button11 = pad_button9
pad_button13 = pad_button10
pad_button14 = pad_button11

[saitek_x52pro]
guid = 076206A3-0000-0000-0000-504944564944
pad_button27 = dev_null

[keyboardandmouse]
pad_xaxisplus = kb_2
pad_xaxisminus = kb_4
pad_yaxisplus = kb_3
pad_yaxisminus = kb_1
pad_rxaxisplus = ms_xaxisplus
pad_rxaxisminus = ms_xaxisminus
pad_ryaxisplus = ms_yaxisplus
pad_ryaxisminus = ms_yaxisminus
pad_dpadup = kb_up
pad_dpadright = kb_right
pad_dpaddown = kb_down
pad_dpadleft = kb_left
pad_button0 = kb_a
pad_button1 = kb_b
pad_button2 = kb_x
pad_button3 = kb_y
pad_button4 = kb_lcontrol
pad_button5 = kb_rcontrol
pad_button6 = kb_backspace
pad_button7 = kb_enter
pad_button8 = kb_lalt
pad_button9 = kb_ralt
pad_button10 = dev_null
pad_button11 = dev_null
pad_zaxisplus = kb_lshift
pad_zaxisminus = kb_rshift

[keyboardandmouse0]
pad_xaxisplus = kb_d
pad_xaxisminus = kb_a
pad_yaxisplus = kb_x
pad_yaxisminus = kb_w

pad_rxaxisplus = ms_xaxisplus
pad_rxaxisminus = ms_xaxisminus
pad_ryaxisplus = ms_yaxisplus
pad_ryaxisminus = ms_yaxisminus

pad_dpadup = kb_up
pad_dpadright = kb_right
pad_dpaddown = kb_down
pad_dpadleft = kb_left

pad_button0 = kb_space
pad_button1 = kb_backspace
pad_button2 = kb_enter
pad_button3 = kb_r

pad_button4 = kb_q
pad_button5 = kb_e

pad_button6 = kb_escape
pad_button7 = kb_i

pad_button8 = kb_c
pad_button9 = kb_lshift

pad_button10 = dev_null
pad_button11 = dev_null

pad_zaxisplus = ms_button1
pad_zaxisminus = ms_button0

[keyboardandmouse1]
pad_xaxisplus = kb_r
pad_xaxisminus = kb_l
pad_yaxisplus = kb_d
pad_yaxisminus = kb_u

pad_rxaxisplus = ms_xaxisplus
pad_rxaxisminus = ms_xaxisminus
pad_ryaxisplus = ms_yaxisplus
pad_ryaxisminus = ms_yaxisminus

pad_dpadup = kb_up
pad_dpadright = kb_right
pad_dpaddown = kb_down
pad_dpadleft = kb_left

pad_button0 = kb_1
pad_button1 = kb_2
pad_button2 = kb_3
pad_button3 = kb_4

pad_button4 = kb_5
pad_button5 = kb_6

pad_button6 = kb_7
pad_button7 = kb_8
pad_button7 = kb_escape

pad_button8 = kb_9
pad_button9 = kb_0

pad_button10 = dev_null
pad_button11 = dev_null

pad_zaxisplus = kb_L
pad_zaxisminus = kb_R

I also dumped list of strings to get missing names of buttons it supports:

Button %d
POV %d
Slider %d
RZ-Axis
RY-Axis
RX-Axis
Z-Axis
Y-Axis
X-Axis
Button %d
POV %d
Slider %d
RZ-Axis
RY-Axis
RX-Axis
Z-Axis
Y-Axis
X-Axis

mousespeed
keyboardandmouse
dpadtoanalog
TRUE
general
onelayout
FALSE
%s\dixi.ini
kb_delete
kb_insert
kb_pagedown
kb_down
kb_end
kb_right
kb_left
kb_pageup
kb_up
kb_home
kb_pause
kb_ralt
kb_sysrq
kb_numdivide
kb_numcomma
kb_rcontrol
kb_numenter
kb_unlabeled
kb_ax
kb_stop
kb_kanji
kb_underline
kb_colon
kb_at
kb_circumflex
kb_numequals
kb_yen
kb_noconvert
kb_convert
kb_kana
kb_f15
kb_f14
kb_f13
kb_f12
kb_f11
kb_numdecimal
kb_num0
kb_num3
kb_num2
kb_num1
kb_numadd
kb_num6
kb_num5
kb_num4
kb_numsub
kb_num9
kb_num8
kb_num7
kb_scrlock
kb_numlock
kb_f10
kb_f9
kb_f8
kb_f7
kb_f6
kb_f5
kb_f4
kb_f3
kb_f2
kb_f1
kb_capslock
kb_space
kb_lalt
kb_multiply
kb_rshift
kb_slash
kb_period
kb_comma
kb_m
kb_n
kb_b
kb_v
kb_c
kb_x
kb_z
kb_backslash
kb_lshift
kb_grave
kb_apostrophe
kb_semicolon
kb_l
kb_k
kb_j
kb_h
kb_g
kb_f
kb_d
kb_s
kb_a
kb_lcontrol
kb_enter
kb_rbracket
kb_lbracket
kb_p
kb_o
kb_i
kb_u
kb_y
kb_t
kb_r
kb_e
kb_w
kb_q
kb_tab
kb_backspace
kb_equals
kb_minus
kb_0
kb_9
kb_8
kb_7
kb_6
kb_5
kb_4
kb_3
kb_2
kb_1
kb_escape
ms_button3
ms_button2
ms_button1
ms_button0
ms_zaxisminus
ms_zaxisplus
ms_yaxisminus
ms_yaxisplus
ms_xaxisminus
ms_xaxisplus
pad_button31
pad_button30
pad_button29
pad_button28
pad_button27
pad_button26
pad_button25
pad_button24
pad_button23
pad_button22
pad_button21
pad_button20
pad_button19
pad_button18
pad_button17
pad_button16
pad_button15
pad_button14
pad_button13
pad_button12
pad_button11
pad_button10
pad_button9
pad_button8
pad_button7
pad_button6
pad_button5
pad_button4
pad_button3
pad_button2
pad_button1
pad_button0
pad_dpadleft
pad_dpaddown
pad_dpadright
pad_dpadup
pad_rzaxisminus
pad_rzaxisplus
pad_ryaxisminus
pad_ryaxisplus
pad_rxaxisminus
pad_rxaxisplus
pad_zaxisminus
pad_zaxisplus
pad_yaxisminus
pad_yaxisplus
pad_xaxisminus
pad_xaxisplus
dev_null

Its official Product Name
GOG.com Input wrapper

Config is always dixi.ini its hardcoded (i wonder if they took inspiration from your xidi?).

It can wrap dinput,dll, dinput8.dll, any xinput* dll and has export for all of them, winmm.dll under question, also strings has some sdl2 related lines, but i don dont see any dependency for sdl2, so if its exist its not the regular one.

I uploaded whole package for you to toy around with debugger:

https://mega.nz/file/MIpSjLqQ#dz6eWN-7PN2I2P-D8ItzeWJBk1EwSoTEPGtgW8B9n48

from xidi.

samuelgr avatar samuelgr commented on June 10, 2024

I appreciate the suggestion and the effort in packaging up the example. At this time I do not plan to work on supporting another configuration file format.

from xidi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.