Need help getting started for skin dev
#1
Not a gamer.  I did get things working somewhat to do skin dev for Kodi 18, but not much since and I know much has changed.  Using the Zach Morris helps I got MAME installed and a couple game .zip file that load (note: in the games window, clicking on a game does nothing I have to start it from the context menu.  By design?)

This is on Kodi 21 post beta1 (so need an Omega skin update).  I do skin dev on Windows.  My problem now is I don't understand the controller logic.  Used to play some DOS/Win3.1 games BITD mainly using keyboard for input.  I don't see how to configure a keyboard as game input device.  I do have some flight sim hardware.  Not really suitable for these retro style games, except maybe driving games yoke and rudder pedals.  But I have a flight stick that in Windows DirectInput provides 16 buttons (0-15), x-y axis, slider, and Z rot axis (0-3) and 8-way hat (using windows / DirectInput nomenclature).  I can't for the life of me see how to get this set up in Kodi to control a specific game.  For now using arcade pacman from ZM IAGL addon.

scott s.
.
Reply
#2
(2023-10-30, 03:46)scott967 Wrote: My problem now is I don't understand the controller logic.  Used to play some DOS/Win3.1 games BITD mainly using keyboard for input.  I don't see how to configure a keyboard as game input device.

In short, you can't, this feature is unfinished. You can only control joysticks with joysticks and keyboards with keyboards.

Once upon a time you could control joysticks with keyboards but I had to drop this for v17 when the controller work was merged to get the PR down to a reasonable size.

The return of this feature is planned for the Player Manager. In v21 we got a lightweight Player Viewer, which will form the basis for a later Player Manager.
So progress is being made, slowly but surely.

Does that answer your question?

(2023-10-30, 03:46)scott967 Wrote: But I have a flight stick that in Windows DirectInput provides 16 buttons (0-15), x-y axis, slider, and Z rot axis (0-3) and 8-way hat (using windows / DirectInput nomenclature).  I can't for the life of me see how to get this set up in Kodi to control a specific game.  For now using arcade pacman from ZM IAGL addon.

You can't set up a controller to control a joystick game? I'm not sure what you're having trouble with. Are the setup instructions unclear? Did you setup but input is broken? If the latter, a debug log can tell me where input is being dropped.
RetroPlayer releases: https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
#3
Here's what I am doing and getting lost.

I installed 231107 omega nightly.
I go to settings -> system -> input
I select "peripherals"  that opens window 10149 (note: doesn't have "friendly name" that helps in skinning)
I see my Thrustmaster T.100M listed so I select it
In peripheralsettings for appearance it shows "default controller"
Selecting appearance I get a list of controller addons.  Joystick 4 button seems closest so I select it.
Now appearance shows "Joystick 4 button".
That seemed easy enough to add a new controller, so I built a new one game.controller.T1600M and installed it
Re-entered peripheralsettings for appearance and changed it to my T1600M
Went back into the input settings and "driver settings" and disabled Xinput
Selected "configure attached controllers" and in the controller profiles selected the T1600M, then ran through the buttons/axis assignment mappings
The configuration wizard log is here:
koyavagojo.kodi (paste)
It didn't 100% work as desired, but th4en I found it created a file in my addon_data under peripheral.joystick/resources/buttonmaps/xml/directinput with this:
xml:
<buttonmap>
<device name="T.16000M" provider="directinput" vid="044F" pid="B10A" buttoncount="16" hatcount="1" axiscount="4">
<configuration>
<appearance id="game.controller.T1600M" />
</configuration>
<controller id="game.controller.T1600M">
<feature name="button1" button="0" />
<feature name="button10" button="15" />
<feature name="button11" button="4" />
<feature name="button12" button="5" />
<feature name="button13" button="6" />
<feature name="button14" button="7" />
<feature name="button15" button="8" />
<feature name="button16" button="9" />
<feature name="button2" button="1" />
<feature name="button3" button="2" />
<feature name="button4" button="3" />
<feature name="button5" button="10" />
<feature name="button6" button="11" />
<feature name="button7" button="12" />
<feature name="button8" button="13" />
<feature name="button9" button="14" />
<feature name="stick">
<up axis="-1" />
<down axis="+1" />
<right axis="+0" />
<left axis="-0" />
</feature>
</controller>
</device>
</buttonmap>
looks close but the axis aren't mapped correctly and don't know what to do with a "hat".

So I assumed I had a basic setup.
Added my test games folder as a games source and opened the games window
I have arcade game packman.zip for testing and selected it. That opened the emulators select window and I selected MAME2010 for this test. MAME emulator installed and the game started.
But when I pressed a button on my T1600M, I got a popup "new controller detected" and the game controllers dialog opened with the only profile showing "Kodi". So at that point I am totally lost what's missing/how to proceed.
Here is the log of the game session:
avekimekod.kodi (paste)
I can kind of see there isn't something right but no idea what it is really telling me.

scott s.
Reply

Logout Mark Read Team Forum Stats Members Help
Need help getting started for skin dev0