juliagoda / antimicrox Goto Github PK
View Code? Open in Web Editor NEWGraphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support
License: GNU General Public License v3.0
Graphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support
License: GNU General Public License v3.0
Is this a known limitation?
In some XWayland programs I can see an invisible cursor move but it never moves the real one. Clicks and buttons works fine.
Since it is a fork I think renaming it would be a good idea. Maybe name it AntimicroX so others know this is a fork of it that will live on.
Steps to reproduce:
Expected:
Continue to scroll when holding down on gamepad button (behavior before in v2.24.1 and before de44bee)
Actual:
Scroll stops as though button was only pressed once
This behavior is exhibited no matter what button is mapped to the scroll wheel. Other mappings, both keyboard and mouse seem to activate continuously (though I haven't tested all of them). This is a regression between 2.24.1 and 2.24.2, specifically in commit de44bee and is still present in the latest version in master. There were many changes made in that commit, and I haven't gotten a chance to pick it apart yet.
Environment:
antimicro version: 2.24.2
Controller: PS3 DualShock 3 controller
OS: Linux 4.19.73
"Game Controller Mapping" does not recognize back and guide buttons for gamepad "Steelseries Stratus XL". All other buttons recognized and working properly.
If I check with "xinput test", those 2 buttons are the only buttons that print any output when I push them, as follows (first "guide" and then "back"):
key press 180
key release 180
key press 166
key release 166
Can I make them be recognized somehow?
Tested on Ubuntu 18.10 amd64.
Hello, thank you for you kind support about this issue :
I have made a profile, then saved it. I have also put is as "Default profile" and also ticked the "auto-load" option. However, when I reboot the programm or my computer, I have this pop-up "Save profile changes ?
".
Because despite the fact that I have saved my profile, the program load the "New profile" at start.
How to solve this issue please ? Thank you very much for you help.
Built target manpage
/bin/sh: 1: itstool: not found
other/appdata/CMakeFiles/appdata.dir/build.make:57: recipe for target 'appdata' failed
make[4]: *** [appdata] Error 127
CMakeFiles/Makefile2:297: recipe for target 'other/appdata/CMakeFiles/appdata.dir/all' failed
make[3]: *** [other/appdata/CMakeFiles/appdata.dir/all] Error 2
CMakeFiles/Makefile2:304: recipe for target 'other/appdata/CMakeFiles/appdata.dir/rule' failed
make[2]: *** [other/appdata/CMakeFiles/appdata.dir/rule] Error 2
Makefile:229: recipe for target 'appdata' failed
make[1]: *** [appdata] Error 2
[100%] Built target updateqm
-- Up-to-date: /usr/local/share/antimicro/translations/antimicro_br.qm
-- Up-to-date: /usr/local/share/antimicro/translations/antimicro_de.qm
-- Up-to-date: /usr/local/share/antimicro/translations/antimicro_en.qm
-- Up-to-date: /usr/local/share/antimicro/translations/antimicro_es.qm
-- Up-to-date: /usr/local/share/antimicro/translations/antimicro_fr.qm
-- Up-to-date: /usr/local/share/antimicro/translations/antimicro_it.qm
-- Up-to-date: /usr/local/share/antimicro/translations/antimicro_ja.qm
-- Up-to-date: /usr/local/share/antimicro/translations/antimicro_pl.qm
-- Up-to-date: /usr/local/share/antimicro/translations/antimicro_ru.qm
-- Up-to-date: /usr/local/share/antimicro/translations/antimicro_sr.qm
-- Up-to-date: /usr/local/share/antimicro/translations/antimicro_uk.qm
-- Up-to-date: /usr/local/share/antimicro/translations/antimicro_zh_CN.qm
-- Up-to-date: /usr/local/share/antimicro/translations/antimicro.qm
-- Installing: /usr/local/share/man/man1/antimicro.1.gz
CMake Error at other/appdata/cmake_install.cmake:41 (file):
file INSTALL cannot find
"/home/carlos/antimicro/build/other/appdata/com.github.juliagoda.antimicro.appdata.xml".
Call Stack (most recent call first):
other/cmake_install.cmake:46 (include)
cmake_install.cmake:750 (include)
Makefile:85: recipe for target 'install' failed
make: *** [install] Error 1
Distribution: Arch Linux
Version: 910b7b4
Steps to reproduce:
Backtrace:
Thread 1 "antimicro" received signal SIGSEGV, Segmentation fault.
JoyControlStick::getParentSet (this=0x0) at /usr/src/debug/antimicro-910b7b40749d49716c92ed44be091e62e2f0cf48/src/joycontrolstick.cpp:2527
(gdb) bt
#0 JoyControlStick::getParentSet (this=0x0) at /usr/src/debug/antimicro-910b7b40749d49716c92ed44be091e62e2f0cf48/src/joycontrolstick.cpp:2527
#1 0x00005555555ff240 in AxisEditDialog::openAdvancedPDialog (this=0x7fffe800ac30) at /usr/src/debug/antimicro-910b7b40749d49716c92ed44be091e62e2f0cf48/src/axiseditdialog.cpp:368
#2 0x00007ffff66e7bd0 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#3 0x00007ffff7b4e803 in QAbstractButton::clicked(bool) () from /usr/lib/libQt5Widgets.so.5
#4 0x00007ffff7b4ea1c in ?? () from /usr/lib/libQt5Widgets.so.5
#5 0x00007ffff7b4fe12 in ?? () from /usr/lib/libQt5Widgets.so.5
#6 0x00007ffff7b4ffe6 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQt5Widgets.so.5
#7 0x00007ffff7aa3658 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#8 0x00007ffff7a63e14 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#9 0x00007ffff7a6b92a in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#10 0x00007ffff66bdc39 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#11 0x00007ffff7a6ac11 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQt5Widgets.so.5
#12 0x00007ffff7abe98c in ?? () from /usr/lib/libQt5Widgets.so.5
#13 0x00007ffff7ac15d5 in ?? () from /usr/lib/libQt5Widgets.so.5
#14 0x00007ffff7a63e14 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#15 0x00007ffff7a6b6e1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#16 0x00007ffff66bdc39 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#17 0x00007ffff74940dc in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5
#18 0x00007ffff7496066 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/libQt5Gui.so.5
#19 0x00007ffff746fa3c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5
#20 0x00007ffff1d22e1d in ?? () from /usr/lib/libQt5XcbQpa.so.5
#21 0x00007ffff66bc8cc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#22 0x00007ffff66c4bc6 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#23 0x00005555555a7713 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/antimicro-910b7b40749d49716c92ed44be091e62e2f0cf48/src/main.cpp:814
(gdb) f 1
#1 0x00005555555ff240 in AxisEditDialog::openAdvancedPDialog (this=0x7fffe800ac30) at /usr/src/debug/antimicro-910b7b40749d49716c92ed44be091e62e2f0cf48/src/axiseditdialog.cpp:368
(gdb) p m_axis->getControlStick()
$2 = (JoyControlStick *) 0x0
(gdb) p *m_axis
$3 = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {superdata = 0x7ffff693e100 <QObject::staticMetaObject>, stringdata = 0x55555572f020 <qt_meta_stringdata_JoyAxis>, data = 0x55555572ede0 <qt_meta_data_JoyAxis>,
static_metacall = 0x5555555b5430 <JoyAxis::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static DEFAULTTHROTTLE = JoyAxis::NormalThrottle, paxisbutton = 0x55555589cf00, naxisbutton = 0x55555589b420, axisName = {static null = {<No data fields>},
d = 0x7ffff677b640 <QArrayData::shared_null>}, defaultAxisName = {static null = {<No data fields>}, d = 0x555555933690}, throttle = 0, deadZone = 6000, maxZoneValue = 32000, currentRawValue = 0, currentThrottledValue = 0, currentThrottledDeadValue = 0, m_index = 5, axis_center_cal = -1, axis_min_cal = -1,
axis_max_cal = -1, isActive = false, eventActive = false, activeButton = 0x0, m_originset = 0, m_stick = 0x0, m_parentSet = 0x5555558dfe30, lastKnownThottledValue = 0, lastKnownRawValue = 0, pendingValue = 0, pendingEvent = false, pendingIgnoreSets = false}
This is a regression (not present in version 2.23).
Edit: I've just realised by visiting the main page of this project that it has been abandoned. Since I've already submitted it, I'll just leave the report here in case someone who wants to pick up development again sees it.
At any rate, @juliagoda, if you're reading this: I'd like to thank you for maintaining antimicro for the past several months. Just like in other FOSS projects, fixing various bugs (no matter how small they were) really made a difference in making antimicro more usable and, since I've used it regularly, it meant a lot to me. I wish you the best from now on.
When trying to clear a button mapping by clicking on NONE in the screenshot below, the outcome can be either of the following:
Here's the output of ulimit -c unlimited && antimicro
that is printed when the freeze occurs.
Debug: "antimicro antimicro" ((null):0, (null))
Debug: antimicro antimicro ((null):0, (null))
Debug: class of window now: "antimicro antimicro"
((null):0, (null))
Debug: WIN: 0x "5a00021" ((null):0, (null))
Debug: "As last gamepad button has been set \"Stick 1: Button Down\" " ((null):0, (null))
Debug: title of window now: "As last gamepad button has been set \"Stick 1: Button Down\" "
((null):0, (null))
Debug: WINDOW CLASS: "antimicro antimicro" ((null):0, (null))
Debug: WINDOW NAME: "As last gamepad button has been set \"Stick 1: Button Down\" " ((null):0, (null))
Debug: WINDOW IN FOCUS: "94371873" ((null):0, (null))
Debug: window profile assignments size: 2
((null):0, (null))
Debug: checkForTitleChange: true ((null):0, (null))
Warning: QMetaMethod::invoke: Dead lock detected in BlockingQueuedConnection: Receiver is JoyButton(0x560f35ee5990) ((null):0, (null))
On the other hand, if I try clearing a mapping in the main window (right click → Clear), that only seems to work if I'm in a new profile and I push the relevant button on the gamepad after selecting Clear. Otherwise, nothing happens.
System info:
Found 2 small things in
antimicro/other/antimicro.1
Should be:
.\" Contact [email protected] to correct errors or typos.
.TH ANTIMICRO "1" "11 April 2018" "antimicro 2.23" "User Commands"
And
Should be:
Report dir bugs to antimicro home page: https://github.com/juliagoda/antimicro
Please note that the email adresse above was taken from your github profile, change it if you want to provide another... ;-)
I've got two T16000 joysticks and tried setting them up with autoprofiles. It seems the autoprofiles can't tell them apart, as they both get the same profile applied.
They both have the same GUID.
Setting both profiles manually works fine, but antimicro doesn't remember the set profiles on restart despite "open last profile" option being set.
https://github.com/AntiMicro/antimicro has a pretty nice little wiki with some handy explanations.
I think it would be good to either copy that over or at least refer to that wiki in the readme :)
I've a problem I can reproduce with these steps:
a
for the green A on the Xbox 360 controller)b
a
or b
, or adding a third button to the sequenceHere are some of the last lines of the terminal output of ulimit -c unlimited
and antimicro
, right after the freeze:
Debug: "antimicro antimicro" ((null):0, (null))
Debug: antimicro antimicro ((null):0, (null))
Debug: class of window now: "antimicro antimicro"
((null):0, (null))
Debug: WIN: 0x "30000a5" ((null):0, (null))
Debug: "Advanced: A" ((null):0, (null))
Debug: title of window now: "Advanced: A"
((null):0, (null))
Debug: WINDOW CLASS: "antimicro antimicro" ((null):0, (null))
Debug: WINDOW NAME: "Advanced: A" ((null):0, (null))
Debug: WINDOW IN FOCUS: "50331813" ((null):0, (null))
Debug: window profile assignments size: 2
((null):0, (null))
Debug: checkForTitleChange: true ((null):0, (null))
Debug: NEWKEY: "v"
((null):0, (null))
Debug: NEWKEY LEGNTH: 1
((null):0, (null))
Warning: QMetaMethod::invoke: Dead lock detected in BlockingQueuedConnection: Receiver is AdvanceButtonDialogHelper(0x5578f14e4ee8) ((null):0, (null))
System info:
P.S.: Possibly related is that after I open a saved profile with the same Advanced mapping, when I click on Stick 1 and select a preset (such as WASD), Antimicro also freezes. The last line of the warning in the output is similar.
Debug: 20 ((null):0, (null))
Debug: "antimicro antimicro" ((null):0, (null))
Debug: antimicro antimicro ((null):0, (null))
Debug: class of window now: "antimicro antimicro"
((null):0, (null))
Debug: WIN: 0x "a00017" ((null):0, (null))
Debug: "Set Stick 1" ((null):0, (null))
Debug: title of window now: "Set Stick 1"
((null):0, (null))
Debug: WINDOW CLASS: "antimicro antimicro" ((null):0, (null))
Debug: WINDOW NAME: "Set Stick 1" ((null):0, (null))
Debug: WINDOW IN FOCUS: "10485783" ((null):0, (null))
Debug: window profile assignments size: 2
((null):0, (null))
Debug: checkForTitleChange: true ((null):0, (null))
Warning: QMetaMethod::invoke: Dead lock detected in BlockingQueuedConnection: Receiver is JoyControlStickEditDialogHelper(0x55ee4180ca30) ((null):0, (null))
Your fork of antimicro is the absolute best. It runs great on Ubuntu 18.04. The compiling & make & install is near perfection . Thank you!
I changed the following on my copy (to have a ubuntu flavor), feel free to add them or not.. peace!
In my antimicro/src/images/ I did this: caba2cb
So the tray icon and taskbar icon are not the same.
And:
;-D
The project used to compile under Arch Linux, but does not with an up-to-date system today (2019-12-29). This problem applies to all recent commits/releases that used to build in the past, so I believe this is a problem related to upgraded system packages rather than a breaking change in antimicro. It also still builds fine under Ubuntu-based distros.
Brief compile error:
In file included from /usr/include/X11/Xlib.h:44,
from /usr/include/X11/extensions/XInput.h:52,
from /home/adel/projects/antimicro/src/x11extras.h:26,
from /home/adel/projects/antimicro/src/keyboard/virtualkeyboardmousewidget.cpp:34:
/usr/include/qt/QtCore/qurl.h: At global scope:
/usr/include/qt/QtCore/qurl.h:135:9: error: expected identifier before numeric constant
135 | None = 0x0,
| ^~~~
Full error log:
error.log
Library versions:
g++: 9.2.0
cmake: 3.16.2
extra-cmake-modules: 5.65.0
qt5-tools: 5.14.0
sdl2: 2.0.10
libxi: 1.7.10
libxtst: 1.2.3
libx11: 1.6.9
This is a fork of Antimicro but is this now the official version? Will development continue for this application here?
I don't want Antimicro to die and I would like to see someone or a group to dedicate some time to ensure Antimicro stays up to date with a release or two a year. Anitmicro is the best open source windows & linux controller mapping software out there.
Hello,
The latest releases of this repo's antimicro needs extra-cmake-modules
- which isn't listed in the Readme yet.
The Debian package for it is extra-cmake-modules
(another package, libecm-dev
, throws in a lot of confusion). It seems to have the same name in AUR for Arch.
Also, thank you for working on this project.
I have a profile saved but when I try to unbind a button from that profile the whole app just locks up and I have to kill it manually.
OS: Manjaro Linux
Version: 2.24.2 from AUR
When I go to Options → Settings → Auto Profile and add a new one, it won't show up in the list of auto profiles and it can't be used either.
The only way I can make it show up in the list is by editing what's under [AutoProfiles]
in ~/.config/antimicro/antimicro_settings.ini
. Then, I can finetune its details in the settings using the Edit button normally.
*According to antimicro -v
, the version number is 2.24. However, the AUR package info says it's 2.24.1.
Having read the Wiki entry on set selection of the original (?) GitHub repo, I'd like to be able map both Set Switch (While Held) and pressing and holding of the left Shift key simultaneously on the right trigger of the gamepad. This would allow me to have a fairly suitable mapping for Fable: The Lost Chapters, close to the Xbox controls. Is it possible to do that?
The wiki page mentions that you can right click on a button and enable one of the three Set Switch modes in the context menu. However, this option doesn't appear when I right click on either of the triggers.
Also, I've tried assigning Shift to the trigger and then left click on R Trigger → Shift_L → Advanced → Assignments → Select Set 2 While Held from drop down, but that doesn't seem to work.
Distribution: Arch Linux
Version: b65c00c
Prerequisites:
How to reproduce:
README.md (and github.com/juliagoda/antimicro page) in Build Dependencies section reads:
"libX11-dev (libx11 on distros based on Arch Linux) (optional when compiled with Qt 5 support)"
BUT should be:
"libx11-dev (libx11 on distros based on Arch Linux) (optional when compiled with Qt 5 support)"
The uppercase "X" makes the installation impossible, terminal output is "E: Unable to locate package libX11-dev".
The profiles from antimicro (2016 version) are working fine with all the mapped buttons.
But when I try to chance the mapping to most of the buttons, by clicking on "Quick Set" or "A:" or "B:" and other buttons, antimicro crashes with this output in the terminal: "Invalid MIT-MAGIC-COOKIE-1 keySegmentation fault (core dumped)".
Buttons that are working as expected: L Trigger, R Trigger, L stick, R stick, Dpad.
Other buttons, for example: Controller Mapping, Properties and Key Checker, are working too.
Tested with the gamepad "Steelseries Stratus Xl" on Ubuntu 18.10 amd64.
I searched for some workarounds but found nothing that helped.
When I set an emulator application to open profile on my xbox 360 controller I found that if you had 1, 2, 3 or 4 of the same controller plugged in it will load the profile for every controller when the application started up. I don't know if this is a bug or not but it would be nice to have it so you have a auto profile only load a profile for a certain plugged in controller.
Assigning the buttons to a script (maybe with the pressed button as an argument) would open up so much power, and should be fairly simple to do. The user should specify a path to a script in a box somewhere.
Found 2 small things in
antimicro/other/appdata/antimicro.appdata.xml.in
Should be:
<image>https://raw.githubusercontent.com/juliagoda/antimicro/master/other/appdata/screenshots/controller_main_window_light_theme.png</image>
<caption>Profile Configuration Dialog</caption>
</screenshot>
<screenshot>
<image>https://raw.githubusercontent.com/juliagoda/antimicro/master/other/appdata/screenshots/controller_configure_light_theme.png</image>
<caption>Analog Stick Configuration Dialog</caption>
</screenshot>
<screenshot>
<image>https://raw.githubusercontent.com/juliagoda/antimicro/master/other/appdata/screenshots/controller_mapping_light_theme.png</image>
<caption>Controller Mapping Dialog</caption>
</screenshot>
<screenshot>
<image>https://raw.githubusercontent.com/juliagoda/antimicro/master/other/appdata/screenshots/controller_main_window_dark_theme.png</image>
<caption>Profile Configuration Dialog (Dark Theme)</caption>
</screenshot>
<screenshot>
<image>https://raw.githubusercontent.com/juliagoda/antimicro/master/other/appdata/screenshots/controller_configure_dark_theme.png</image>
<caption>Analog Sticks Configuration Dialog (Dark Theme)</caption>
</screenshot>
<screenshot>
<image>https://raw.githubusercontent.com/juliagoda/antimicro/master/other/appdata/screenshots/controller_mapping_dark_theme.png</image>
<caption>Controller Mapping Dialog (Dark Theme)</caption>
And
Should be:
<url type="homepage">https://github.com/juliagoda/antimicro</url>
<updatecontact>juliagoda.pl_AT_protonmail.com</updatecontact>
Please note that the email adresse was taken from your github profile, change it if you want to provide another.
;-) Peace!
When antimicro is set to be launched automatically at system start and there's a gamepad detected, the panel icon doesn't respond to left or right mouse clicks. I need to close it with pkill antimicro
and run the program again to make it work.
Operating System: Manjaro Linux KDE
Antimicro Version: 2.24*
KDE Plasma Version: 5.15.2
KDE Frameworks Version: 5.56.0
Qt Version: 5.12.1
Kernel Version: 4.19.28-1-MANJARO x86_64
*According to antimicro -v
, the version number is 2.24. However, the AUR package info says it's 2.24.1.
Should be:
Report dir bugs to antimicro home page: https://github.com/juliagoda/antimicro
;-)
Whenever my wireless XBox 360 controller switches off automatically after 15 minutes of being idle, Antimicro crashes.
From time to time, it also happens when I manually disconnect my DualShock 4 via Bluetooth, although I don't know how to reproduce it reliably.
*According to antimicro -v
, the version number is 2.24. However, the AUR package info says it's 2.24.1.
"About Development" Section contains typos, grammatical errors and structure is weird. The following contains 100% of the original text but with corrections to spelling and structure. Do what you please with it! Peace!
"juliagoda" (since March, 2018) Wanting only to play my favourite old games that din't support gamepads, I found this project (which map keyboard keys and mouse buttons to connected gamepads on Linux) as most proper and recent. But because of poor choices of such application on the internet and since it didn't compile properly, I decided to rescue the project. However, once I finished my work (enough to enjoy playing games) I thought about sharing this code with others. Of course all informations about past programmers will be held.
Distribution: Arch Linux
Version: b65c00c
How to reproduce
That dialog is redundant - you already selected the gamepad key whose assignment you wanted to modify.
In "antimicro/other/appdata/PO_files/en.po"
Should be:
#: antimicro.appdata.xml.in:19
msgid "https://raw.githubusercontent.com/juliagoda/antimicro/master/other/appdata/screenshots/controller_main_window_light_theme.png"
msgstr ""
#. (itstool) path: screenshot/caption
#: antimicro.appdata.xml.in:20
msgid "Profile Configuration Dialog"
msgstr ""
#. (itstool) path: screenshot/image
#: antimicro.appdata.xml.in:23
msgid "https://raw.githubusercontent.com/juliagoda/antimicro/master/other/appdata/screenshots/controller_configure_light_theme.png"
msgstr ""
#. (itstool) path: screenshot/caption
#: antimicro.appdata.xml.in:24
msgid "Analog Stick Configuration Dialog"
msgstr ""
#. (itstool) path: screenshot/image
#: antimicro.appdata.xml.in:27
msgid "https://raw.githubusercontent.com/juliagoda/antimicro/master/other/appdata/screenshots/controller_mapping_light_theme.png"
msgstr ""
#. (itstool) path: screenshot/caption
#: antimicro.appdata.xml.in:28
msgid "Controller Mapping Dialog"
And
Should be:
#: antimicro.appdata.xml.in:31
msgid "https://github.com/juliagoda/antimicro"
msgstr ""
#. (itstool) path: component/updatecontact
#: antimicro.appdata.xml.in:32
msgid "juliagoda.pl_AT_protonmail.com"
Please note that the email adresse was taken from your github profile, change it if you want to provide another.
Is there a DEB file available, or PPA for Ubuntu 18.04?
Hello! Happy to see you have decided to pick up antimicro!
I use a "template", similar to a PKGBUILD, to build antimicro. 2.23 doesn't spit this error out:
I use export QT_SELECT=4
-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
-- Checking for module 'sdl2'
-- Found sdl2, version 2.0.8
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/libX11.so
XTest support allowed for simulating events.
uinput support allowed for simulating events.
CMake Error at CMakeLists.txt:478 (message):
No Qt version was specified.
-- Configuring incomplete, errors occurred!
Is there any chance of getting a build of the latest for my windows box? Compiling source on linux is easy and fine but for windows its a pain to figure out.
I left you post there to help you on this project here, more power to you! =)
AntiMicro/antimicro#293
Hi,
If I set the dead zone to be == the max zone for a trigger, the program seems to crash.
It looks like the problem may be in joyaxis.cpp in getDistanceFromDeadZone. The cast to double is happening after the division, so a divide by zero would lead to an FPE. Casting only the numerator or denominator seems to fix it (though I don't know what value is returned in that case).
Thanks!
I would like to suggest a creation of an official Flatpak. AFAIK there isn't proper support for joysticks but you can just request more permissions instead.
Here's an example with Qt, SDL and a similar theme: https://github.com/flathub/org.libretro.RetroArch/blob/master/org.libretro.RetroArch.json
Thanks for your work!
A neat feature would be the ability to be able to create functions. It can be something that is created in each profile and a function is just like when a keystroke is pressed except you are able to to start a function and end a command.
So if you press the A button it could be configured to run "MyFunction", "MyFunction" will hold the ~ key forever. Then you can press the B button to end "MyFunction". Or you can set the X button to run "MyOtherFunction" and "MyOtherFunction" can press Q and W once and then stop running the function. The possibilities are endless and with the advanced assignments we could run multiple commands with double tappings, press and holding, etc. This one simple feature will put Antimicro competing with Pinnacle Gamer Profiler or Padstarr.
The function can be managed in a menu somewhere in the profile and in there you can create, edit or delete functions. To add this to the profile file itself can be debate-able but maybe create a new tag called <functions>
and then inside would be tags called <function name="MyFunction">
and then have the data for that function embeded inside of that.
Could someone update the Windows build instructions in the readme? The current instructions seem to be out of date in that version numbers don’t match and it seems interfaces in qt may have changed
Alternatively, I may just be too much of a newb? but I just can’t get anything building.
Distribution: Arch Linux
Version: 2.24-1 (from AUR)
Once it is mapped, moving the stick produces this crash.
Thread 5 "QThread" received signal SIGFPE, Arithmetic exception.
0x00005555555e7ac6 in JoyGradientButton::wheelEventVertical (this=0x7fffd802d700) at /usr/src/debug/antimicro-2.24/src/joybuttontypes/joygradientbutton.cpp:324
(gdb) bt
#0 0x00005555555e7ac6 in JoyGradientButton::wheelEventVertical (this=0x7fffd802d700) at /usr/src/debug/antimicro-2.24/src/joybuttontypes/joygradientbutton.cpp:324
#1 0x00005555555e2c5a in JoyButton::activateSlots (this=0x7fffd802d700) at /usr/src/debug/antimicro-2.24/src/joybutton.cpp:923
#2 0x00005555555e30bb in JoyButton::createDeskEvent (this=0x7fffd802d700) at /usr/src/debug/antimicro-2.24/src/joybutton.cpp:838
#3 0x00005555555e4107 in JoyButton::joyEvent (this=this@entry=0x7fffd802d700, pressed=pressed@entry=true, ignoresets=<optimized out>, ignoresets@entry=false) at /usr/src/debug/antimicro-2.24/src/joybutton.cpp:428
#4 0x0000555555658166 in JoyControlStick::performButtonPress (ignoresets=<optimized out>, activebutton=@0x55555590a628: 0x7fffd802d700, eventbutton=0x7fffd802d700, this=0x55555590a5d0) at /usr/src/debug/antimicro-2.24/src/joycontrolstick.cpp:2569
#5 JoyControlStick::createDeskEvent (this=this@entry=0x55555590a5d0, ignoresets=ignoresets@entry=false) at /usr/src/debug/antimicro-2.24/src/joycontrolstick.cpp:369
#6 0x00005555556598a6 in JoyControlStick::joyEvent (this=this@entry=0x55555590a5d0, ignoresets=ignoresets@entry=false) at /usr/src/debug/antimicro-2.24/src/joycontrolstick.cpp:142
#7 0x00005555556599ca in JoyControlStick::activatePendingEvent (this=this@entry=0x55555590a5d0) at /usr/src/debug/antimicro-2.24/src/joycontrolstick.cpp:3287
#8 0x00005555556a28b1 in InputDevice::activatePossibleControlStickEvents (this=this@entry=0x5555558d87b0) at /usr/src/debug/antimicro-2.24/src/inputdevice.cpp:2219
#9 0x00005555555ee429 in InputDaemon::secondInputPass (this=0x5555558837d0, sdlEventQueue=0x7fffee682820) at /usr/src/debug/antimicro-2.24/src/inputdaemon.cpp:1148
#10 0x00005555555efaee in InputDaemon::run (this=0x5555558837d0) at /usr/src/debug/antimicro-2.24/src/inputdaemon.cpp:135
#11 0x00007ffff66e8352 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#12 0x00007ffff7a63e14 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#13 0x00007ffff7a6b6e1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#14 0x00007ffff66bdc39 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#15 0x00007ffff66c0ccc in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#16 0x00007ffff67119d4 in ?? () from /usr/lib/libQt5Core.so.5
#17 0x00007ffff4f803cf in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#18 0x00007ffff4f81f89 in ?? () from /usr/lib/libglib-2.0.so.0
#19 0x00007ffff4f81fce in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#20 0x00007ffff6710fc9 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#21 0x00007ffff66bc8cc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#22 0x00007ffff6505eb9 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#23 0x00007ffff650ff65 in ?? () from /usr/lib/libQt5Core.so.5
#24 0x00007ffff5f3ea9d in start_thread () from /usr/lib/libpthread.so.0
#25 0x00007ffff6055b23 in clone () from /usr/lib/libc.so.6
(gdb) p distance
$1 = 0.59656272753450279
(gdb) p static_cast<int>(distance)
$2 = 0
(gdb) p wheelSpeedY
$3 = 20
Division by zero.
The file contains six occurrences of this pattern (casting distance
to int) in total.
This is a regression (not present in version 2.23).
seems to work in 2.24, though 2.24.1 seems to write garbage to the console that it was currently started on
Hi! I have tried change from 2.23 to 2.24, everything appears ok with UI but not from command line. With main instance opened and minimized in tray, when I use commands like:
antimicro ~/Software/configs/antimicro/PCSXR.gamecontroller.amgp
antimicro --hidden ~/Software/configs/antimicro/WIN.gamecontroller.amgp
antimicro --profile-controller 1 ~/Software/configs/antimicro/DOS-NFS.gamecontroller.amgp
always crash:
Application: antimicro (antimicro), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f4982150240 (LWP 9920))]Thread 3 (Thread 0x7f4979bc0700 (LWP 9922)):
#0 0x00007f49854ca18c in read () from /usr/lib/libc.so.6
#1 0x00007f49842029f0 in ?? () from /usr/lib/libglib-2.0.so.0
#2 0x00007f4984250311 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#3 0x00007f4984251a28 in ?? () from /usr/lib/libglib-2.0.so.0
#4 0x00007f4984251b51 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5 0x00007f4985bca9bc in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQt5Core.so.5
#6 0x00007f4985b715ec in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQt5Core.so.5
#7 0x00007f49859a42f5 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#8 0x00007f498197db37 in ?? () from /usr/lib/libQt5DBus.so.5
#9 0x00007f49859a5520 in ?? () from /usr/lib/libQt5Core.so.5
#10 0x00007f498510357f in start_thread () from /usr/lib/libpthread.so.0
#11 0x00007f49854d90e3 in clone () from /usr/lib/libc.so.6Thread 2 (Thread 0x7f4980dd1700 (LWP 9921)):
#0 0x00007f49854ce667 in poll () from /usr/lib/libc.so.6
#1 0x00007f49841c9630 in ?? () from /usr/lib/libxcb.so.1
#2 0x00007f49841cb2db in xcb_wait_for_event () from /usr/lib/libxcb.so.1
#3 0x00007f4981a6d049 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#4 0x00007f49859a5520 in ?? () from /usr/lib/libQt5Core.so.5
#5 0x00007f498510357f in start_thread () from /usr/lib/libpthread.so.0
#6 0x00007f49854d90e3 in clone () from /usr/lib/libc.so.6Thread 1 (Thread 0x7f4982150240 (LWP 9920)):
[KCrash Handler]
#6 0x000000000031002e in ?? ()
#7 0x00007f4986d0455a in MainWindow::~MainWindow() () from /usr/lib/libantilib.so
#8 0x000055600533b360 in ?? ()
#9 0x00007f4985403ee3 in __libc_start_main () from /usr/lib/libc.so.6
#10 0x000055600533d93e in ?? ()
[Inferior 1 (process 9920) detached]
Thanks for keep this software alive.
PD: I'm using Archlinux and installed last version from AUR.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.