Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.3.0 segfaults when connecting a controller #579

Closed
1 task done
xgqt opened this issue Oct 24, 2022 · 21 comments
Closed
1 task done

3.3.0 segfaults when connecting a controller #579

xgqt opened this issue Oct 24, 2022 · 21 comments
Assignees
Labels
bug Something isn't working

Comments

@xgqt
Copy link

xgqt commented Oct 24, 2022

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

If a controller is already connected and I try to open antimicrox then I get a crash.

If a antimicrox GUI is already already and a controller is connected, be it bluetooth or USB, the program segfaults.

❌ERROR Received SIGSEGV (segmentation fault)
❗WARN  Stack trace:
❗WARN  antimicrox(+0x9881d) [0x55c79215481d]
❗WARN  /lib64/libc.so.6(+0x3df80) [0x7f43f8c52f80]
❗WARN  antimicrox(+0x226d5e) [0x55c7922e2d5e]
❗WARN  antimicrox(+0xb6cda) [0x55c792172cda]
❗WARN  antimicrox(+0xb796d) [0x55c79217396d]
❗WARN  antimicrox(+0xb818b) [0x55c79217418b]
❗WARN  antimicrox(+0xb620d) [0x55c79217220d]
❗WARN  antimicrox(+0x184c5e) [0x55c792240c5e]
❗WARN  antimicrox(+0x1887c3) [0x55c7922447c3]
❗WARN  antimicrox(+0x189dbc) [0x55c792245dbc]
❗WARN  /usr/lib64/libQt5Core.so.5(_ZN7QObject5eventEP6QEvent+0x2ca) [0x7f43f941aa4a]
❗WARN  /usr/lib64/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x7f) [0x7f43fa458f7f]
❗WARN  /usr/lib64/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x148) [0x7f43f93eb788]
❗WARN  /usr/lib64/libQt5Core.so.5(_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData+0x186) [0x7f43f93eec26]
❗WARN  /usr/lib64/libQt5Core.so.5(+0x328873) [0x7f43f9448873]
❗WARN  /usr/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x26b) [0x7f43f7c8cf2b]
❗WARN  /usr/lib64/libglib-2.0.so.0(+0x5e1f8) [0x7f43f7c8d1f8]
❗WARN  /usr/lib64/libglib-2.0.so.0(g_main_context_iteration+0x2f) [0x7f43f7c8d2cf]
❗WARN  /usr/lib64/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x64) [0x7f43f9447e44]
❗WARN  /usr/lib64/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x12b) [0x7f43f93e9f0b]
❗WARN  /usr/lib64/libQt5Core.so.5(_ZN7QThread4execEv+0x5e) [0x7f43f91efe9e]
❗WARN  /usr/lib64/libQt5Core.so.5(+0xd114f) [0x7f43f91f114f]
❗WARN  /lib64/libc.so.6(+0x89c5a) [0x7f43f8c9ec5a]
❗WARN  /lib64/libc.so.6(+0x10fb7c) [0x7f43f8d24b7c]
zsh: segmentation fault  antimicrox

Expected Behavior

No segfault.

Steps To Reproduce

  1. Run antimiucrox
  2. Connect a controller to the system.

Environment

- OS: Gentoo Linux
- AntiMicroX version: 3.3.0

Anything else?

The version 3.2.5 works correctly.

@xgqt xgqt added the bug Something isn't working label Oct 24, 2022
@pktiuk
Copy link
Member

pktiuk commented Oct 24, 2022

That is a quick report.

It must crash on something simple in the main function.
It is difficult to say more based on these logs.

Are you able to compile antimicrox by yourself with an enabled debug flag and then run it with gdb to properly check which line crashes?

@xgqt
Copy link
Author

xgqt commented Oct 24, 2022

That is a quick report.

It must crash on something simple in the main function. It is difficult to say more based on these logs.

Are you able to compile antimicrox by yourself with an enabled debug flag and then run it with gdb to properly check which line crashes?

GNU gdb (Gentoo 11.2 vanilla) 11.2
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from bin/antimicrox...
(gdb) run
Starting program: /home/xy/source/public/github.com/AntiMicroX/antimicrox/build/bin/antimicrox 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff2202640 (LWP 9380)]
[New Thread 0x7fffeb614640 (LWP 9381)]
[New Thread 0x7fffeae13640 (LWP 9382)]
[New Thread 0x7fffe90ab640 (LWP 9383)]
[New Thread 0x7fffe88aa640 (LWP 9384)]
[New Thread 0x7fffdbfff640 (LWP 9385)]
[New Thread 0x7fffdb7fe640 (LWP 9386)]
[New Thread 0x7fffdaffd640 (LWP 9387)]
[New Thread 0x7fffda7fc640 (LWP 9388)]
[New Thread 0x7fffd9ffb640 (LWP 9389)]
[New Thread 0x7fffd97fa640 (LWP 9390)]
[New Thread 0x7fffd8ff9640 (LWP 9391)]
[New Thread 0x7fffb3fff640 (LWP 9392)]
[New Thread 0x7fffaad6a640 (LWP 9416)]
[New Thread 0x7fffaa569640 (LWP 9417)]
[New Thread 0x7fffa9d68640 (LWP 9418)]
[New Thread 0x7fffa9567640 (LWP 9419)]
[New Thread 0x7fffa8d66640 (LWP 9420)]
[New Thread 0x7fff9bfff640 (LWP 9421)]
[New Thread 0x7fff9b7fe640 (LWP 9422)]
[New Thread 0x7fff9affd640 (LWP 9423)]
[New Thread 0x7fff9a7fc640 (LWP 9424)]
[New Thread 0x7fff99ffb640 (LWP 9425)]
[New Thread 0x7fff997fa640 (LWP 9426)]
[New Thread 0x7fff98ff9640 (LWP 9427)]

Thread 14 "inputEventThrea" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffb3fff640 (LWP 9392)]
0x0000555555887bac in VDPad::VDPad (this=0x7fffb8065640, upButton=0x7fffb802f650, downButton=0x0, leftButton=0x0, rightButton=0x0, index=0, originset=0, parentSet=0x555555f05de0, parent=0x555555f05de0) at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/vdpad.cpp:44
44          downButton->setVDPad(this);
(gdb) info frame
Stack level 0, frame at 0x7fffb3ffe340:
 rip = 0x555555887bac in VDPad::VDPad (/home/xy/source/public/github.com/AntiMicroX/antimicrox/src/vdpad.cpp:44); 
    saved rip = 0x5555556c9412
 called by frame at 0x7fffb3ffe3a0
 source language c++.
 Arglist at 0x7fffb3ffe330, args: this=0x7fffb8065640, upButton=0x7fffb802f650, downButton=0x0, leftButton=0x0, 
    rightButton=0x0, index=0, originset=0, parentSet=0x555555f05de0, parent=0x555555f05de0
 Locals at 0x7fffb3ffe330, Previous frame's sp is 0x7fffb3ffe340
 Saved registers:
  rbx at 0x7fffb3ffe328, rbp at 0x7fffb3ffe330, rip at 0x7fffb3ffe338
(gdb) bt
#0  0x0000555555887bac in VDPad::VDPad (this=0x7fffb8065640, upButton=0x7fffb802f650, downButton=0x0, 
    leftButton=0x0, rightButton=0x0, index=0, originset=0, parentSet=0x555555f05de0, parent=0x555555f05de0)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/vdpad.cpp:44
#1  0x00005555556c9412 in GameControllerDPad::GameControllerDPad (this=0x7fffb8065640, upButton=0x7fffb802f650,
    downButton=0x0, leftButton=0x0, rightButton=0x0, index=0, originset=0, parentSet=0x555555f05de0,
    parent=0x555555f05de0)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontrollerdpad.cpp:31
#2  0x00005555556c9ba1 in GameControllerSet::populateSticksDPad (this=0x555555f05de0)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontrollerset.cpp:90
#3  0x00005555556c995a in GameControllerSet::resetSticks (this=0x555555f05de0)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontrollerset.cpp:65
#4  0x00005555556c9843 in GameControllerSet::GameControllerSet (this=0x555555f05de0, device=0x7fffb8004b40,
    index=0, parent=0x7fffb8004b40)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontrollerset.cpp:38
#5  0x00005555556c614d in GameController::GameController (this=0x7fffb8004b40, controller=0x7fffb80056b0,
    deviceIndex=0, settings=0x7fffffffc4b0, counterUniques=0, parent=0x555555bf1bb0)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontroller.cpp:53
#6  0x00005555557ceac3 in InputDaemon::addInputDevice (this=0x555555bf1bb0, index=0, uniques=...,
    counterUniques=@0x7fffb3ffe730: 1, duplicatedGamepad=@0x7fffb3ffe729: false)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/inputdaemon.cpp:642
#7  0x00005555557d11e9 in InputDaemon::secondInputPass (this=0x555555bf1bb0, sdlEventQueue=0x7fffb3ffe8a0)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/inputdaemon.cpp:1252
#8  0x00005555557cc7aa in InputDaemon::run (this=0x555555bf1bb0)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/inputdaemon.cpp:117
#9  0x00005555556acd7b in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (InputDaemon::*)()>::call(void (InputDaemon::*)(), InputDaemon*, void**) (
    f=(void (InputDaemon::*)(InputDaemon * const)) 0x5555557cc70e <InputDaemon::run()>, o=0x555555bf1bb0,
    arg=0x7fffb4009b88) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152
#10 0x00005555556ac8af in QtPrivate::FunctionPointer<void (InputDaemon::*)()>::call<QtPrivate::List<>, void>(void (InputDaemon::*)(), InputDaemon*, void**) (
    f=(void (InputDaemon::*)(InputDaemon * const)) 0x5555557cc70e <InputDaemon::run()>, o=0x555555bf1bb0,
    arg=0x7fffb4009b88) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185
#11 0x00005555556abbac in QtPrivate::QSlotObject<void (InputDaemon::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x555555c32150, r=0x555555bf1bb0,
    a=0x7fffb4009b88, ret=0x0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:418
#12 0x00007ffff6973a4a in QObject::event(QEvent*) () from /usr/lib64/libQt5Core.so.5
#13 0x00007ffff79baf7f in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib64/libQt5Widgets.so.5
#14 0x00007ffff6944788 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#15 0x00007ffff6947c26 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
   from /usr/lib64/libQt5Core.so.5
#16 0x00007ffff69a1873 in ?? () from /usr/lib64/libQt5Core.so.5
#17 0x00007ffff51e5f2b in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#18 0x00007ffff51e61f8 in ?? () from /usr/lib64/libglib-2.0.so.0
#19 0x00007ffff51e62cf in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#20 0x00007ffff69a0e44 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib64/libQt5Core.so.5
#21 0x00007ffff6942f0b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib64/libQt5Core.so.5
#22 0x00007ffff6748e9e in QThread::exec() () from /usr/lib64/libQt5Core.so.5
#23 0x00007ffff674a14f in ?? () from /usr/lib64/libQt5Core.so.5
#24 0x00007ffff61f5c5a in ?? () from /lib64/libc.so.6
--Type <RET> for more, q to quit, c to continue without paging--c
#25 0x00007ffff627bb7c in ?? () from /lib64/libc.so.6
(gdb)

@xgqt
Copy link
Author

xgqt commented Oct 24, 2022

(gdb) where
#0  0x0000555555887bac in VDPad::VDPad (this=0x555555c2aac0, upButton=0x555555c48cc0, downButton=0x0,
    leftButton=0x0, rightButton=0x0, index=0, originset=0, parentSet=0x555555c71370, parent=0x555555c71370)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/vdpad.cpp:44
#1  0x00005555556c9412 in GameControllerDPad::GameControllerDPad (this=0x555555c2aac0, upButton=0x555555c48cc0,
    downButton=0x0, leftButton=0x0, rightButton=0x0, index=0, originset=0, parentSet=0x555555c71370,
    parent=0x555555c71370)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontrollerdpad.cpp:31
#2  0x00005555556c9ba1 in GameControllerSet::populateSticksDPad (this=0x555555c71370)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontrollerset.cpp:90
#3  0x00005555556c995a in GameControllerSet::resetSticks (this=0x555555c71370)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontrollerset.cpp:65
#4  0x00005555556c9843 in GameControllerSet::GameControllerSet (this=0x555555c71370, device=0x555555c5d590,
    index=0, parent=0x555555c5d590)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontrollerset.cpp:38
#5  0x00005555556c614d in GameController::GameController (this=0x555555c5d590, controller=0x555555c5a5c0,
    deviceIndex=0, settings=0x7fffffffc4e0, counterUniques=0, parent=0x555555bf3ac0)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontroller.cpp:53
#6  0x00005555557cd07e in InputDaemon::refreshJoysticks (this=0x555555bf3ac0)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/inputdaemon.cpp:242
#7  0x00005555557cc100 in InputDaemon::InputDaemon (this=0x555555bf3ac0, joysticks=0x555555bc4920,
    settings=0x7fffffffc4e0, graphical=true, parent=0x0)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/inputdaemon.cpp:53
#8  0x00005555556a4faf in main (argc=1, argv=0x7fffffffc958)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/main.cpp:562
(gdb)

@pktiuk
Copy link
Member

pktiuk commented Oct 24, 2022

Ok, It crashes here

VDPad::VDPad(JoyButton *upButton, JoyButton *downButton, JoyButton *leftButton, JoyButton *rightButton, int index,
             int originset, SetJoystick *parentSet, QObject *parent)
    : JoyDPad(index, originset, parentSet, parent)
{
    this->upButton = upButton;
    upButton->setVDPad(this);

    this->downButton = downButton;
    downButton->setVDPad(this); //HERE

I can guess, that downButton is not initialized properly. Maybe it is null.

@pktiuk
Copy link
Member

pktiuk commented Oct 24, 2022

JoyButton *buttonUp = getJoyButton(SDL_CONTROLLER_BUTTON_DPAD_UP);     //we get nulls here
    JoyButton *buttonDown = getJoyButton(SDL_CONTROLLER_BUTTON_DPAD_DOWN);
    JoyButton *buttonLeft = getJoyButton(SDL_CONTROLLER_BUTTON_DPAD_LEFT);
    JoyButton *buttonRight = getJoyButton(SDL_CONTROLLER_BUTTON_DPAD_RIGHT);
    GameControllerDPad *controllerDPad =
        new GameControllerDPad(buttonUp, buttonDown, buttonLeft, buttonRight, 0, getIndex(), this, this);

It seems to have less buttons than typical GameController should have.

typedef enum
{
    SDL_CONTROLLER_BUTTON_INVALID = -1,
    SDL_CONTROLLER_BUTTON_A,
    SDL_CONTROLLER_BUTTON_B,
    SDL_CONTROLLER_BUTTON_X,
    SDL_CONTROLLER_BUTTON_Y,
    SDL_CONTROLLER_BUTTON_BACK,
    SDL_CONTROLLER_BUTTON_GUIDE,
    SDL_CONTROLLER_BUTTON_START,
    SDL_CONTROLLER_BUTTON_LEFTSTICK,
    SDL_CONTROLLER_BUTTON_RIGHTSTICK,
    SDL_CONTROLLER_BUTTON_LEFTSHOULDER,
    SDL_CONTROLLER_BUTTON_RIGHTSHOULDER,
    SDL_CONTROLLER_BUTTON_DPAD_UP,
    SDL_CONTROLLER_BUTTON_DPAD_DOWN,
    SDL_CONTROLLER_BUTTON_DPAD_LEFT,
    SDL_CONTROLLER_BUTTON_DPAD_RIGHT,
    SDL_CONTROLLER_BUTTON_MISC1,    

@xgqt
What controller do you use?
It seems to have less buttons than expected
Do you have any INFO logs informing about type of this controller?

@xgqt
Copy link
Author

xgqt commented Oct 24, 2022

I tried this with a off-brand USB PS4-like controller as well as official Dual sense controller (trace if from the off-brand one).

@xgqt
Copy link
Author

xgqt commented Oct 24, 2022

off-brand PS4:

  • kernel
Oct24 20:05] usb 1-3: new low-speed USB device number 18 using xhci_hcd
[  +0.146039] usb 1-3: New USB device found, idVendor=0079, idProduct=0006, bcdDevice= 1.07
[  +0.000007] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  +0.000002] usb 1-3: Product: Generic   USB  Joystick
[  +0.000002] usb 1-3: Manufacturer: DragonRise Inc.
[  +0.029242] input: DragonRise Inc.   Generic   USB  Joystick   as /devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-3/1-3:1.0/0003:0079:0006.0014/input/input42
[  +0.000138] hid-generic 0003:0079:0006.0014: input,hidraw9: USB HID v1.10 Joystick [DragonRise Inc.   Generic   USB  Joystick  ] on usb-0000:04:00.3-3/input0
  • trace
#0  0x0000555555887bac in VDPad::VDPad (this=0x555555c2dd20, upButton=0x555555c39e80, downButton=0x0,
    leftButton=0x0, rightButton=0x0, index=0, originset=0, parentSet=0x555555c73d80, parent=0x555555c73d80)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/vdpad.cpp:44
#1  0x00005555556c9412 in GameControllerDPad::GameControllerDPad (this=0x555555c2dd20, upButton=0x555555c39e80,
    downButton=0x0, leftButton=0x0, rightButton=0x0, index=0, originset=0, parentSet=0x555555c73d80,
    parent=0x555555c73d80)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontrollerdpad.cpp:31
#2  0x00005555556c9ba1 in GameControllerSet::populateSticksDPad (this=0x555555c73d80)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontrollerset.cpp:90
#3  0x00005555556c995a in GameControllerSet::resetSticks (this=0x555555c73d80)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontrollerset.cpp:65
#4  0x00005555556c9843 in GameControllerSet::GameControllerSet (this=0x555555c73d80, device=0x555555c50d30,
    index=0, parent=0x555555c50d30)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontrollerset.cpp:38
#5  0x00005555556c614d in GameController::GameController (this=0x555555c50d30, controller=0x555555c307a0,
    deviceIndex=0, settings=0x7fffffffc4e0, counterUniques=0, parent=0x555555bf3560)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontroller.cpp:53
#6  0x00005555557cd07e in InputDaemon::refreshJoysticks (this=0x555555bf3560)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/inputdaemon.cpp:242
#7  0x00005555557cc100 in InputDaemon::InputDaemon (this=0x555555bf3560, joysticks=0x555555bc4350,
    settings=0x7fffffffc4e0, graphical=true, parent=0x0)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/inputdaemon.cpp:53
#8  0x00005555556a4faf in main (argc=1, argv=0x7fffffffc958)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/main.cpp:562

Dual Sense:

  • kernel
[Oct24 20:08] usb 1-3: USB disconnect, device number 18
[Oct24 20:09] usb 1-3: new high-speed USB device number 19 using xhci_hcd
[  +0.127634] usb 1-3: New USB device found, idVendor=054c, idProduct=0ce6, bcdDevice= 1.00
[  +0.000008] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  +0.000002] usb 1-3: Product: Wireless Controller
[  +0.000001] usb 1-3: Manufacturer: Sony Interactive Entertainment
[  +0.082803] playstation 0003:054C:0CE6.0015: hidraw9: USB HID v1.11 Gamepad [Sony Interactive Entertainment Wireless Controller] on usb-0000:04:00.3-3/input3
[  +0.052139] input: Sony Interactive Entertainment Wireless Controller as /devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-3/1-3:1.3/0003:054C:0CE6.0015/input/input43
[  +0.000351] input: Sony Interactive Entertainment Wireless Controller Motion Sensors as /devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-3/1-3:1.3/0003:054C:0CE6.0015/input/input44
[  +0.000099] input: Sony Interactive Entertainment Wireless Controller Touchpad as /devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-3/1-3:1.3/0003:054C:0CE6.0015/input/input45
[  +0.001753] playstation 0003:054C:0CE6.0015: Registered DualSense controller hw_version=0x00000414 fw_version=0x01030002
  • trace
(gdb) run
Starting program: /home/xy/source/public/github.com/AntiMicroX/antimicrox/build/bin/antimicrox
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff2202640 (LWP 15489)]
[New Thread 0x7fffeb614640 (LWP 15494)]
[New Thread 0x7fffeae13640 (LWP 15495)]

Thread 1 "antimicrox" received signal SIGSEGV, Segmentation fault.
0x0000555555887be6 in VDPad::VDPad (this=0x555555c40cf0, upButton=0x555555c75d90, downButton=0x555555c7fce0, leftButton=0x0, rightButton=0x0, index=0, originset=0, parentSet=0x555555c7e010, parent=0x555555c7e010) at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/vdpad.cpp:47
47          leftButton->setVDPad(this);
(gdb) where
#0  0x0000555555887be6 in VDPad::VDPad (this=0x555555c40cf0, upButton=0x555555c75d90, downButton=0x555555c7fce0,
    leftButton=0x0, rightButton=0x0, index=0, originset=0, parentSet=0x555555c7e010, parent=0x555555c7e010)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/vdpad.cpp:47
#1  0x00005555556c9412 in GameControllerDPad::GameControllerDPad (this=0x555555c40cf0, upButton=0x555555c75d90,
    downButton=0x555555c7fce0, leftButton=0x0, rightButton=0x0, index=0, originset=0, parentSet=0x555555c7e010,
    parent=0x555555c7e010)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontrollerdpad.cpp:31
#2  0x00005555556c9ba1 in GameControllerSet::populateSticksDPad (this=0x555555c7e010)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontrollerset.cpp:90
#3  0x00005555556c995a in GameControllerSet::resetSticks (this=0x555555c7e010)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontrollerset.cpp:65
#4  0x00005555556c9843 in GameControllerSet::GameControllerSet (this=0x555555c7e010, device=0x555555c65180,
    index=0, parent=0x555555c65180)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontrollerset.cpp:38
#5  0x00005555556c614d in GameController::GameController (this=0x555555c65180, controller=0x555555c5cd60,
    deviceIndex=0, settings=0x7fffffffc4e0, counterUniques=0, parent=0x555555bf3400)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/gamecontroller/gamecontroller.cpp:53
#6  0x00005555557cd07e in InputDaemon::refreshJoysticks (this=0x555555bf3400)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/inputdaemon.cpp:242
#7  0x00005555557cc100 in InputDaemon::InputDaemon (this=0x555555bf3400, joysticks=0x555555bc4470,
    settings=0x7fffffffc4e0, graphical=true, parent=0x0)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/inputdaemon.cpp:53
#8  0x00005555556a4faf in main (argc=1, argv=0x7fffffffc958)
    at /home/xy/source/public/github.com/AntiMicroX/antimicrox/src/main.cpp:562
(gdb)

@xgqt
Copy link
Author

xgqt commented Oct 24, 2022

So with the off-brand we crash on line 44 and with Dual Sense on 47...

@pktiuk
Copy link
Member

pktiuk commented Oct 24, 2022

Could you revert one commit?
git revert 35c0089173605da4662e897266cc562ccc5cdb1f
This one may be a direct cause of these crashes

@xgqt
Copy link
Author

xgqt commented Oct 24, 2022

Could you revert one commit? git revert 35c0089173605da4662e897266cc562ccc5cdb1f This one may be a direct cause of these crashes

After this revert it works correctly!

@pktiuk
Copy link
Member

pktiuk commented Oct 24, 2022

Could you also privide me an some logs from connecting these controllers?
I am curious what these logs will tell me about your gamepads.
Maybe this is somehow caused by SDL.
antimicrox --log-level verbose should be enough

@xgqt
Copy link
Author

xgqt commented Oct 24, 2022

Could you also privide me an some logs from connecting these controllers? I am curious what these logs will tell me about your gamepads. Maybe this is somehow caused by SDL. antimicrox --log-level verbose should be enough

Those are the logs from the CORRECTED version:

❗WARN  QCommandLineParser: option not defined: "next"
⚪VERBOSE       AntiMicroX version: 3.3.0-d Type: Debug
⚪VERBOSE       SDL version: 2.24.0 (Compiled with: 2.24.0)
🟢INFO  "Using XTest as the event generator."
❗WARN  File with game controller mappings  "/home/xy/source/public/github.com/AntiMicroX/antimicrox/build/bin/../share/antimicrox/gamecontrollerdb.txt"  does not exist
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 0 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 0 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 0 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 0 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 0 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 0 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 13 For set: 0 Name: Button 14: [NO KEY]
⚪VERBOSE       Created button with ID: 14 For set: 0 Name: Button 15: [NO KEY]
⚪VERBOSE       Created button with ID: 15 For set: 0 Name: Button 16: [NO KEY]
⚪VERBOSE       Created button with ID: 16 For set: 0 Name: Button 17: [NO KEY]
⚪VERBOSE       Created button with ID: 17 For set: 0 Name: Button 18: [NO KEY]
⚪VERBOSE       Created button with ID: 18 For set: 0 Name: Button 19: [NO KEY]
⚪VERBOSE       Created button with ID: 19 For set: 0 Name: Button 20: [NO KEY]
⚪VERBOSE       Created button with ID: 20 For set: 0 Name: Button 21: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 0 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 0 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 0 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 0 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 0 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 0 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 1 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 1 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 1 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 1 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 1 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 1 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 1 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 1 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 1 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 1 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 1 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 13 For set: 1 Name: Button 14: [NO KEY]
⚪VERBOSE       Created button with ID: 14 For set: 1 Name: Button 15: [NO KEY]
⚪VERBOSE       Created button with ID: 15 For set: 1 Name: Button 16: [NO KEY]
⚪VERBOSE       Created button with ID: 16 For set: 1 Name: Button 17: [NO KEY]
⚪VERBOSE       Created button with ID: 17 For set: 1 Name: Button 18: [NO KEY]
⚪VERBOSE       Created button with ID: 18 For set: 1 Name: Button 19: [NO KEY]
⚪VERBOSE       Created button with ID: 19 For set: 1 Name: Button 20: [NO KEY]
⚪VERBOSE       Created button with ID: 20 For set: 1 Name: Button 21: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 1 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 1 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 1 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 1 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 1 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 1 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 1 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 1 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 1 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 1 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 1 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 1 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 1 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 1 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 1 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 1 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 1 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 1 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 1 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 1 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 1 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 2 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 2 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 2 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 2 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 2 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 2 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 2 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 2 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 2 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 2 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 2 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 13 For set: 2 Name: Button 14: [NO KEY]
⚪VERBOSE       Created button with ID: 14 For set: 2 Name: Button 15: [NO KEY]
⚪VERBOSE       Created button with ID: 15 For set: 2 Name: Button 16: [NO KEY]
⚪VERBOSE       Created button with ID: 16 For set: 2 Name: Button 17: [NO KEY]
⚪VERBOSE       Created button with ID: 17 For set: 2 Name: Button 18: [NO KEY]
⚪VERBOSE       Created button with ID: 18 For set: 2 Name: Button 19: [NO KEY]
⚪VERBOSE       Created button with ID: 19 For set: 2 Name: Button 20: [NO KEY]
⚪VERBOSE       Created button with ID: 20 For set: 2 Name: Button 21: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 2 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 2 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 2 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 2 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 2 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 2 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 2 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 2 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 2 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 2 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 2 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 2 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 2 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 2 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 2 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 2 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 2 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 2 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 2 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 2 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 2 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 3 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 3 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 3 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 3 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 3 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 3 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 3 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 3 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 3 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 3 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 3 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 13 For set: 3 Name: Button 14: [NO KEY]
⚪VERBOSE       Created button with ID: 14 For set: 3 Name: Button 15: [NO KEY]
⚪VERBOSE       Created button with ID: 15 For set: 3 Name: Button 16: [NO KEY]
⚪VERBOSE       Created button with ID: 16 For set: 3 Name: Button 17: [NO KEY]
⚪VERBOSE       Created button with ID: 17 For set: 3 Name: Button 18: [NO KEY]
⚪VERBOSE       Created button with ID: 18 For set: 3 Name: Button 19: [NO KEY]
⚪VERBOSE       Created button with ID: 19 For set: 3 Name: Button 20: [NO KEY]
⚪VERBOSE       Created button with ID: 20 For set: 3 Name: Button 21: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 3 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 3 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 3 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 3 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 3 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 3 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 3 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 3 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 3 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 3 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 3 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 3 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 3 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 3 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 3 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 3 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 3 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 3 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 3 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 3 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 3 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 4 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 4 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 4 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 4 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 4 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 4 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 4 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 4 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 4 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 4 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 4 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 13 For set: 4 Name: Button 14: [NO KEY]
⚪VERBOSE       Created button with ID: 14 For set: 4 Name: Button 15: [NO KEY]
⚪VERBOSE       Created button with ID: 15 For set: 4 Name: Button 16: [NO KEY]
⚪VERBOSE       Created button with ID: 16 For set: 4 Name: Button 17: [NO KEY]
⚪VERBOSE       Created button with ID: 17 For set: 4 Name: Button 18: [NO KEY]
⚪VERBOSE       Created button with ID: 18 For set: 4 Name: Button 19: [NO KEY]
⚪VERBOSE       Created button with ID: 19 For set: 4 Name: Button 20: [NO KEY]
⚪VERBOSE       Created button with ID: 20 For set: 4 Name: Button 21: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 4 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 4 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 4 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 4 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 4 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 4 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 4 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 4 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 4 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 4 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 4 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 4 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 4 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 4 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 4 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 4 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 4 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 4 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 4 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 4 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 4 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 5 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 5 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 5 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 5 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 5 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 5 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 5 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 5 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 5 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 5 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 5 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 13 For set: 5 Name: Button 14: [NO KEY]
⚪VERBOSE       Created button with ID: 14 For set: 5 Name: Button 15: [NO KEY]
⚪VERBOSE       Created button with ID: 15 For set: 5 Name: Button 16: [NO KEY]
⚪VERBOSE       Created button with ID: 16 For set: 5 Name: Button 17: [NO KEY]
⚪VERBOSE       Created button with ID: 17 For set: 5 Name: Button 18: [NO KEY]
⚪VERBOSE       Created button with ID: 18 For set: 5 Name: Button 19: [NO KEY]
⚪VERBOSE       Created button with ID: 19 For set: 5 Name: Button 20: [NO KEY]
⚪VERBOSE       Created button with ID: 20 For set: 5 Name: Button 21: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 5 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 5 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 5 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 5 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 5 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 5 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 5 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 5 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 5 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 5 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 5 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 5 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 5 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 5 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 5 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 5 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 5 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 5 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 5 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 5 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 5 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 6 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 6 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 6 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 6 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 6 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 6 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 6 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 6 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 6 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 6 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 6 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 13 For set: 6 Name: Button 14: [NO KEY]
⚪VERBOSE       Created button with ID: 14 For set: 6 Name: Button 15: [NO KEY]
⚪VERBOSE       Created button with ID: 15 For set: 6 Name: Button 16: [NO KEY]
⚪VERBOSE       Created button with ID: 16 For set: 6 Name: Button 17: [NO KEY]
⚪VERBOSE       Created button with ID: 17 For set: 6 Name: Button 18: [NO KEY]
⚪VERBOSE       Created button with ID: 18 For set: 6 Name: Button 19: [NO KEY]
⚪VERBOSE       Created button with ID: 19 For set: 6 Name: Button 20: [NO KEY]
⚪VERBOSE       Created button with ID: 20 For set: 6 Name: Button 21: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 6 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 6 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 6 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 6 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 6 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 6 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 6 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 6 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 6 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 6 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 6 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 6 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 6 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 6 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 6 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 6 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 6 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 6 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 6 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 6 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 6 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 7 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 7 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 7 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 7 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 7 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 7 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 7 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 7 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 7 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 7 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 7 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 13 For set: 7 Name: Button 14: [NO KEY]
⚪VERBOSE       Created button with ID: 14 For set: 7 Name: Button 15: [NO KEY]
⚪VERBOSE       Created button with ID: 15 For set: 7 Name: Button 16: [NO KEY]
⚪VERBOSE       Created button with ID: 16 For set: 7 Name: Button 17: [NO KEY]
⚪VERBOSE       Created button with ID: 17 For set: 7 Name: Button 18: [NO KEY]
⚪VERBOSE       Created button with ID: 18 For set: 7 Name: Button 19: [NO KEY]
⚪VERBOSE       Created button with ID: 19 For set: 7 Name: Button 20: [NO KEY]
⚪VERBOSE       Created button with ID: 20 For set: 7 Name: Button 21: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 7 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 7 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 7 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 7 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 7 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 7 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 7 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 7 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 7 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 7 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 7 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 7 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 7 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 7 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 7 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 7 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 7 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 7 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 7 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 7 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 7 Name: Button 13: [NO KEY]
🟢INFO  Created new GameController:
                        Index:            1
                          UniqueID:         030000007900000006000000100100001216
                          GUID:             03000000790000000600000010010000
                          VendorID:         121
                          ProductID:        6
                          Serial:
                          Product Version:  272
                          Name:             DragonRise Inc. Generic USB Joystick
                          Game Controller: Yes
                          # of Axes:       6
                          # of Buttons:    21
                          # of Hats:       0
                          Accelerometer:   0
                          Gyroscope:       0

🟢INFO  Loading device settings for:  "DragonRise Inc. Generic USB Joystick"
🟢INFO  Started saving app config
🟢INFO  Saving config settings:  "<New>"  for controller:  "DragonRise Inc. Generic USB Joystick"
🟢INFO  "Quitting Program"
⚪VERBOSE       Closing logger

@xgqt
Copy link
Author

xgqt commented Oct 24, 2022

And for Dual Sense:

❗WARN  QCommandLineParser: option not defined: "next"
⚪VERBOSE       AntiMicroX version: 3.3.0-d Type: Debug
⚪VERBOSE       SDL version: 2.24.0 (Compiled with: 2.24.0)
🟢INFO  "Using XTest as the event generator."
❗WARN  File with game controller mappings  "/home/xy/source/public/github.com/AntiMicroX/antimicrox/build/bin/../share/antimicrox/gamecontrollerdb.txt"  does not exist
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 0 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 0 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 0 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 0 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 0 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 0 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 13 For set: 0 Name: Button 14: [NO KEY]
⚪VERBOSE       Created button with ID: 14 For set: 0 Name: Button 15: [NO KEY]
⚪VERBOSE       Created button with ID: 15 For set: 0 Name: Button 16: [NO KEY]
⚪VERBOSE       Created button with ID: 16 For set: 0 Name: Button 17: [NO KEY]
⚪VERBOSE       Created button with ID: 17 For set: 0 Name: Button 18: [NO KEY]
⚪VERBOSE       Created button with ID: 18 For set: 0 Name: Button 19: [NO KEY]
⚪VERBOSE       Created button with ID: 19 For set: 0 Name: Button 20: [NO KEY]
⚪VERBOSE       Created button with ID: 20 For set: 0 Name: Button 21: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 0 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 0 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 0 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 0 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 0 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 0 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 1 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 1 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 1 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 1 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 1 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 1 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 1 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 1 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 1 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 1 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 1 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 13 For set: 1 Name: Button 14: [NO KEY]
⚪VERBOSE       Created button with ID: 14 For set: 1 Name: Button 15: [NO KEY]
⚪VERBOSE       Created button with ID: 15 For set: 1 Name: Button 16: [NO KEY]
⚪VERBOSE       Created button with ID: 16 For set: 1 Name: Button 17: [NO KEY]
⚪VERBOSE       Created button with ID: 17 For set: 1 Name: Button 18: [NO KEY]
⚪VERBOSE       Created button with ID: 18 For set: 1 Name: Button 19: [NO KEY]
⚪VERBOSE       Created button with ID: 19 For set: 1 Name: Button 20: [NO KEY]
⚪VERBOSE       Created button with ID: 20 For set: 1 Name: Button 21: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 1 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 1 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 1 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 1 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 1 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 1 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 1 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 1 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 1 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 1 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 1 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 1 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 1 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 1 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 1 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 1 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 1 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 1 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 1 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 1 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 1 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 1 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 1 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 2 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 2 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 2 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 2 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 2 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 2 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 2 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 2 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 2 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 2 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 2 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 13 For set: 2 Name: Button 14: [NO KEY]
⚪VERBOSE       Created button with ID: 14 For set: 2 Name: Button 15: [NO KEY]
⚪VERBOSE       Created button with ID: 15 For set: 2 Name: Button 16: [NO KEY]
⚪VERBOSE       Created button with ID: 16 For set: 2 Name: Button 17: [NO KEY]
⚪VERBOSE       Created button with ID: 17 For set: 2 Name: Button 18: [NO KEY]
⚪VERBOSE       Created button with ID: 18 For set: 2 Name: Button 19: [NO KEY]
⚪VERBOSE       Created button with ID: 19 For set: 2 Name: Button 20: [NO KEY]
⚪VERBOSE       Created button with ID: 20 For set: 2 Name: Button 21: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 2 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 2 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 2 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 2 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 2 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 2 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 2 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 2 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 2 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 2 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 2 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 2 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 2 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 2 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 2 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 2 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 2 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 2 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 2 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 2 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 2 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 2 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 2 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 3 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 3 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 3 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 3 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 3 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 3 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 3 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 3 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 3 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 3 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 3 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 13 For set: 3 Name: Button 14: [NO KEY]
⚪VERBOSE       Created button with ID: 14 For set: 3 Name: Button 15: [NO KEY]
⚪VERBOSE       Created button with ID: 15 For set: 3 Name: Button 16: [NO KEY]
⚪VERBOSE       Created button with ID: 16 For set: 3 Name: Button 17: [NO KEY]
⚪VERBOSE       Created button with ID: 17 For set: 3 Name: Button 18: [NO KEY]
⚪VERBOSE       Created button with ID: 18 For set: 3 Name: Button 19: [NO KEY]
⚪VERBOSE       Created button with ID: 19 For set: 3 Name: Button 20: [NO KEY]
⚪VERBOSE       Created button with ID: 20 For set: 3 Name: Button 21: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 3 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 3 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 3 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 3 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 3 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 3 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 3 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 3 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 3 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 3 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 3 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 3 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 3 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 3 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 3 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 3 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 3 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 3 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 3 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 3 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 3 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 3 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 3 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 4 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 4 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 4 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 4 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 4 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 4 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 4 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 4 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 4 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 4 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 4 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 13 For set: 4 Name: Button 14: [NO KEY]
⚪VERBOSE       Created button with ID: 14 For set: 4 Name: Button 15: [NO KEY]
⚪VERBOSE       Created button with ID: 15 For set: 4 Name: Button 16: [NO KEY]
⚪VERBOSE       Created button with ID: 16 For set: 4 Name: Button 17: [NO KEY]
⚪VERBOSE       Created button with ID: 17 For set: 4 Name: Button 18: [NO KEY]
⚪VERBOSE       Created button with ID: 18 For set: 4 Name: Button 19: [NO KEY]
⚪VERBOSE       Created button with ID: 19 For set: 4 Name: Button 20: [NO KEY]
⚪VERBOSE       Created button with ID: 20 For set: 4 Name: Button 21: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 4 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 4 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 4 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 4 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 4 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 4 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 4 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 4 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 4 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 4 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 4 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 4 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 4 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 4 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 4 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 4 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 4 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 4 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 4 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 4 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 4 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 4 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 4 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 5 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 5 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 5 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 5 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 5 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 5 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 5 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 5 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 5 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 5 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 5 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 13 For set: 5 Name: Button 14: [NO KEY]
⚪VERBOSE       Created button with ID: 14 For set: 5 Name: Button 15: [NO KEY]
⚪VERBOSE       Created button with ID: 15 For set: 5 Name: Button 16: [NO KEY]
⚪VERBOSE       Created button with ID: 16 For set: 5 Name: Button 17: [NO KEY]
⚪VERBOSE       Created button with ID: 17 For set: 5 Name: Button 18: [NO KEY]
⚪VERBOSE       Created button with ID: 18 For set: 5 Name: Button 19: [NO KEY]
⚪VERBOSE       Created button with ID: 19 For set: 5 Name: Button 20: [NO KEY]
⚪VERBOSE       Created button with ID: 20 For set: 5 Name: Button 21: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 5 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 5 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 5 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 5 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 5 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 5 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 5 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 5 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 5 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 5 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 5 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 5 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 5 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 5 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 5 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 5 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 5 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 5 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 5 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 5 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 5 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 5 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 5 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 6 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 6 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 6 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 6 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 6 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 6 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 6 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 6 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 6 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 6 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 6 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 13 For set: 6 Name: Button 14: [NO KEY]
⚪VERBOSE       Created button with ID: 14 For set: 6 Name: Button 15: [NO KEY]
⚪VERBOSE       Created button with ID: 15 For set: 6 Name: Button 16: [NO KEY]
⚪VERBOSE       Created button with ID: 16 For set: 6 Name: Button 17: [NO KEY]
⚪VERBOSE       Created button with ID: 17 For set: 6 Name: Button 18: [NO KEY]
⚪VERBOSE       Created button with ID: 18 For set: 6 Name: Button 19: [NO KEY]
⚪VERBOSE       Created button with ID: 19 For set: 6 Name: Button 20: [NO KEY]
⚪VERBOSE       Created button with ID: 20 For set: 6 Name: Button 21: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 6 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 6 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 6 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 6 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 6 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 6 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 6 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 6 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 6 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 6 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 6 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 6 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 6 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 6 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 6 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 6 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 6 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 6 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 6 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 6 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 6 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 6 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 6 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 7 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 7 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 7 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 7 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 7 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 7 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 7 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 7 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 7 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 7 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 7 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 13 For set: 7 Name: Button 14: [NO KEY]
⚪VERBOSE       Created button with ID: 14 For set: 7 Name: Button 15: [NO KEY]
⚪VERBOSE       Created button with ID: 15 For set: 7 Name: Button 16: [NO KEY]
⚪VERBOSE       Created button with ID: 16 For set: 7 Name: Button 17: [NO KEY]
⚪VERBOSE       Created button with ID: 17 For set: 7 Name: Button 18: [NO KEY]
⚪VERBOSE       Created button with ID: 18 For set: 7 Name: Button 19: [NO KEY]
⚪VERBOSE       Created button with ID: 19 For set: 7 Name: Button 20: [NO KEY]
⚪VERBOSE       Created button with ID: 20 For set: 7 Name: Button 21: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 7 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 7 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 7 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 7 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 7 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 7 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 7 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 7 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 7 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 7 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 7 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 7 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 7 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 7 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 7 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 7 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 7 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 7 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 7 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 7 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 7 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 7 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 7 Name: Button 13: [NO KEY]
🟢INFO  Created new GameController:
                        Index:            1
                          UniqueID:         030000004c050000e60c00001181000013563302
                          GUID:             030000004c050000e60c000011810000
                          VendorID:         1356
                          ProductID:        3302
                          Serial:
                          Product Version:  33041
                          Name:             PS5 Controller
                          Game Controller: Yes
                          # of Axes:       6
                          # of Buttons:    21
                          # of Hats:       0
                          Accelerometer:   0
                          Gyroscope:       0

🟢INFO  Loading device settings for:  "PS5 Controller"
🟢INFO  Started saving app config
🟢INFO  Saving config settings:  "<New>"  for controller:  "PS5 Controller"
🟢INFO  "Quitting Program"
⚪VERBOSE       Closing logger

@xgqt
Copy link
Author

xgqt commented Oct 24, 2022

And this is from UNPATCHED 3.3.0 with Dual Sense:

❗WARN  QCommandLineParser: option not defined: "next"
⚪VERBOSE       AntiMicroX version: 3.3.0-d Type: Debug
⚪VERBOSE       SDL version: 2.24.0 (Compiled with: 2.24.0)
🟢INFO  "Using XTest as the event generator."
❗WARN  File with game controller mappings  "/home/xy/source/public/github.com/AntiMicroX/antimicrox/build/bin/../share/antimicrox/gamecontrollerdb.txt"  does not exist
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 0 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 0 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 0 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 0 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 0 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 0 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 0 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 0 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 0 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 0 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 0 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 0 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 0 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 0 Name: Button 13: [NO KEY]
❌ERROR Received SIGSEGV (segmentation fault)
❗WARN  Stack trace:
❗WARN  ./bin/antimicrox(+0x14d766) [0x55609e0ec766]
❗WARN  /lib64/libc.so.6(+0x3df80) [0x7f153501af80]
❗WARN  ./bin/antimicrox(_ZN5VDPadC2EP9JoyButtonS1_S1_S1_iiP11SetJoystickP7QObject+0x128) [0x55609e2d2be6]
❗WARN  ./bin/antimicrox(_ZN18GameControllerDPadC2EP9JoyButtonS1_S1_S1_iiP11SetJoystickP7QObject+0x4e) [0x55609e114412]
❗WARN  ./bin/antimicrox(_ZN17GameControllerSet18populateSticksDPadEv+0x243) [0x55609e114ba1]
❗WARN  ./bin/antimicrox(_ZN17GameControllerSet11resetSticksEv+0x24) [0x55609e11495a]
❗WARN  ./bin/antimicrox(_ZN17GameControllerSetC2EP11InputDeviceiP7QObject+0x55) [0x55609e114843]
❗WARN  ./bin/antimicrox(_ZN14GameControllerC1EP19_SDL_GameControlleriP17AntiMicroSettingsiP7QObject+0x179) [0x55609e11114d]
❗WARN  ./bin/antimicrox(_ZN11InputDaemon16refreshJoysticksEv+0x66c) [0x55609e21807e]
❗WARN  ./bin/antimicrox(_ZN11InputDaemonC1EP4QMapIiP11InputDeviceEP17AntiMicroSettingsbP7QObject+0x11c) [0x55609e217100]
❗WARN  ./bin/antimicrox(main+0x28de) [0x55609e0effaf]
❗WARN  /lib64/libc.so.6(+0x2934c) [0x7f153500634c]
❗WARN  /lib64/libc.so.6(__libc_start_main+0x7c) [0x7f15350063fc]
❗WARN  ./bin/antimicrox(_start+0x21) [0x55609e0ca1e1]
⚪VERBOSE       Closing logger
zsh: segmentation fault  ./bin/antimicrox --log-level verbose

@xgqt
Copy link
Author

xgqt commented Oct 24, 2022

And this from "off-brand":

❗WARN  QCommandLineParser: option not defined: "next"
⚪VERBOSE       AntiMicroX version: 3.3.0-d Type: Debug
⚪VERBOSE       SDL version: 2.24.0 (Compiled with: 2.24.0)
🟢INFO  "Using XTest as the event generator."
❗WARN  File with game controller mappings  "/home/xy/source/public/github.com/AntiMicroX/antimicrox/build/bin/../share/antimicrox/gamecontrollerdb.txt"  does not exist
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 0 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 0 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 0 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 10 For set: 0 Name: Button 11: [NO KEY]
⚪VERBOSE       Created button with ID: 11 For set: 0 Name: Button 12: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 0 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 0 Name: Button 13: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 0 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 0 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 5 For set: 0 Name: Button 6: [NO KEY]
⚪VERBOSE       Created button with ID: 7 For set: 0 Name: Button 8: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 0 For set: 0 Name: Button 1: [NO KEY]
⚪VERBOSE       Created button with ID: 1 For set: 0 Name: Button 2: [NO KEY]
⚪VERBOSE       Created button with ID: 4 For set: 0 Name: Button 5: [NO KEY]
⚪VERBOSE       Created button with ID: 2 For set: 0 Name: Button 3: [NO KEY]
⚪VERBOSE       Created button with ID: 8 For set: 0 Name: Button 9: [NO KEY]
⚪VERBOSE       Created button with ID: 9 For set: 0 Name: Button 10: [NO KEY]
⚪VERBOSE       Created button with ID: 3 For set: 0 Name: Button 4: [NO KEY]
⚪VERBOSE       Created button with ID: 6 For set: 0 Name: Button 7: [NO KEY]
⚪VERBOSE       Created button with ID: 12 For set: 0 Name: Button 13: [NO KEY]
❌ERROR Received SIGSEGV (segmentation fault)
❗WARN  Stack trace:
❗WARN  ./bin/antimicrox(+0x14d766) [0x562eaac23766]
❗WARN  /lib64/libc.so.6(+0x3df80) [0x7f18e2209f80]
❗WARN  ./bin/antimicrox(_ZN5VDPadC2EP9JoyButtonS1_S1_S1_iiP11SetJoystickP7QObject+0xee) [0x562eaae09bac]
❗WARN  ./bin/antimicrox(_ZN18GameControllerDPadC2EP9JoyButtonS1_S1_S1_iiP11SetJoystickP7QObject+0x4e) [0x562eaac4b412]
❗WARN  ./bin/antimicrox(_ZN17GameControllerSet18populateSticksDPadEv+0x243) [0x562eaac4bba1]
❗WARN  ./bin/antimicrox(_ZN17GameControllerSet11resetSticksEv+0x24) [0x562eaac4b95a]
❗WARN  ./bin/antimicrox(_ZN17GameControllerSetC2EP11InputDeviceiP7QObject+0x55) [0x562eaac4b843]
❗WARN  ./bin/antimicrox(_ZN14GameControllerC1EP19_SDL_GameControlleriP17AntiMicroSettingsiP7QObject+0x179) [0x562eaac4814d]
❗WARN  ./bin/antimicrox(_ZN11InputDaemon14addInputDeviceEiR4QMapI7QStringiERiRb+0x753) [0x562eaad50ac3]
❗WARN  ./bin/antimicrox(_ZN11InputDaemon15secondInputPassEP6QQueueI9SDL_EventE+0x9e7) [0x562eaad531e9]
❗WARN  ./bin/antimicrox(_ZN11InputDaemon3runEv+0x9c) [0x562eaad4e7aa]
❗WARN  ./bin/antimicrox(_ZN9QtPrivate11FunctorCallINS_11IndexesListIJEEENS_4ListIJEEEvM11InputDaemonFvvEE4callES7_PS5_PPv+0x7a) [0x562eaac2ed7b]
❗WARN  ./bin/antimicrox(_ZN9QtPrivate15FunctionPointerIM11InputDaemonFvvEE4callINS_4ListIJEEEvEEvS3_PS1_PPv+0x42) [0x562eaac2e8af]
❗WARN  ./bin/antimicrox(_ZN9QtPrivate11QSlotObjectIM11InputDaemonFvvENS_4ListIJEEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb+0x77) [0x562eaac2dbac]
❗WARN  /usr/lib64/libQt5Core.so.5(_ZN7QObject5eventEP6QEvent+0x2ca) [0x7f18e29d3a4a]
❗WARN  /usr/lib64/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x7f) [0x7f18e3a1af7f]
❗WARN  /usr/lib64/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x148) [0x7f18e29a4788]
❗WARN  /usr/lib64/libQt5Core.so.5(_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData+0x186) [0x7f18e29a7c26]
❗WARN  /usr/lib64/libQt5Core.so.5(+0x328873) [0x7f18e2a01873]
❗WARN  /usr/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x26b) [0x7f18e1245f2b]
❗WARN  /usr/lib64/libglib-2.0.so.0(+0x5e1f8) [0x7f18e12461f8]
❗WARN  /usr/lib64/libglib-2.0.so.0(g_main_context_iteration+0x2f) [0x7f18e12462cf]
❗WARN  /usr/lib64/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x64) [0x7f18e2a00e44]
❗WARN  /usr/lib64/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x12b) [0x7f18e29a2f0b]
❗WARN  /usr/lib64/libQt5Core.so.5(_ZN7QThread4execEv+0x5e) [0x7f18e27a8e9e]
❗WARN  /usr/lib64/libQt5Core.so.5(+0xd114f) [0x7f18e27aa14f]
❗WARN  /lib64/libc.so.6(+0x89c5a) [0x7f18e2255c5a]
❗WARN  /lib64/libc.so.6(+0x10fb7c) [0x7f18e22dbb7c]
⚪VERBOSE       Closing logger
zsh: segmentation fault  ./bin/antimicrox --log-level verbose

@pktiuk
Copy link
Member

pktiuk commented Oct 24, 2022

Now I am surprised # of Buttons: 21.
These gamepads have 21 buttons, but they miss button by nymber 16.
For now I will reverse that commit and prepare new hotfix release.

@pktiuk pktiuk self-assigned this Oct 24, 2022
@pktiuk
Copy link
Member

pktiuk commented Oct 24, 2022

I created a new release with this revert.
Now everything should work properly.

I think that it may be caused by broken SDL_JoystickNumButtons API. This gamepad has clearly more than 12 buttons.
I need to investigate that.

Could you compile branch button_logs and collect logs from it?

  1. Open antimicrox --log-level debug > antimicrox.log
  2. Connect your gamepad
  3. Press some dpad buttons
  4. press touchpad button
  5. Close app

@xgqt
Copy link
Author

xgqt commented Oct 24, 2022

  1. antimicrox --log-level debug > antimicrox.log

antimicrox.log

@pktiuk
Copy link
Member

pktiuk commented Oct 24, 2022

Thank you for help,
thank to your early report and debug info I was able to patch it quickly :)

@xgqt
Copy link
Author

xgqt commented Oct 24, 2022

Thank you for help, thank to your early report and debug info I was able to patch it quickly :)

That's what "downstream" maintainers are for. :)

@pktiuk
Copy link
Member

pktiuk commented Oct 25, 2022

Closing. Further investigations of this topic will be in #582

@pktiuk pktiuk closed this as completed Oct 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants