Giter Club home page Giter Club logo

antimicrox's People

Contributors

7185 avatar adamkane41 avatar adelq avatar aybe avatar burunduk avatar earnestly avatar emperorarthur avatar gitter-badger avatar haselkern avatar hasufell avatar jsbackus avatar juliagoda avatar lgbaldoni avatar ljrk0 avatar montdor avatar panzi avatar phob avatar pktiuk avatar pouar avatar rakuco avatar ryochan7 avatar sd65 avatar simao-santos avatar sir-maniac avatar sirlucjan avatar tokyogeometry avatar zzpxyx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

antimicrox's Issues

Suggestion: Rename Project

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.

[Regression] Continuous activation of mapped scroll wheel only applied once

Steps to reproduce:

  1. Launch antimicro
  2. Map "Mouse Wheel Up" to any gamepad button
  3. Hold on gamepad button

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".

"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.

Save New profile pop up after reboot

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.

Key Checker

In AntiMicro>Options>Key Checker
3

"GitHub page" links to https://github.com/AntiMicro/antimicro but should link to https://github.com/juliagoda/antimicro .

Install fail - itstool: not found

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

Crash when assigning a keyboard button to a trigger

Distribution: Arch Linux
Version: 910b7b4

Steps to reproduce:

  1. connect a gamepad that has analog trigger buttons
  2. start AntiMicro
  3. click on L or R Trigger
  4. click on either "[NO KEY]" buttons
  5. the dialog is not show and AntiMicro crashes

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).

Clearing a mapping doesn't work

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:

  • In a new profile: nothing happens.
  • In a previously saved profile: antimicro freezes.

antimicro_20190626_151527

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:

  • Operating System: Manjaro Linux KDE
  • Antimicro Version: 2.24.1
  • Qt Version: 5.12.3
  • Kernel Version: 5.1.8-1-MANJARO x86_64

antimicro.1

Found 2 small things in
antimicro/other/antimicro.1

screenshot

Should be:

.\" Contact [email protected] to correct errors or typos.
.TH ANTIMICRO "1" "11 April 2018" "antimicro 2.23" "User Commands"

And

screensh4

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... ;-)

Autoprofiles can't distinguish two joysticks

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.

Antimicro freezes when trying to modify advanced mappings for saved profiles

I've a problem I can reproduce with these steps:

  1. Create a new profile
  2. Assign a KB button for a gamepad button (e.g. a for the green A on the Xbox 360 controller)
  3. Click on Advanced (which has now become available)
  4. On the left, click on Toggle and then Assignments (for some reason, the content of the right side completely changes)
  5. Add an additional button to the sequence, such as b
  6. Close all but the main window and save the profile
  7. Select the same gamepad button and go back to Advanced
  8. Try to modify either a or b, or adding a third button to the sequence
  9. Antimicro becomes unresponsive (I can only quit by force terminating it)

Here 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:

  • Operating System: Manjaro Linux KDE
  • Antimicro Version: latest commit from testing branch
  • Qt Version: 5.12.3
  • Kernel Version: 4.19.36-1-MANJARO x86_64

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))

Ubuntu 18.04

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.

000
0002

And:

peek 2018-04-15 01-15

;-D

Build failure in Arch Linux

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

Antimicro Fork?

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.

Include mention of new dependency extra-cmake-modules

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.

AntiMicro freezes when unbinding a button

edit: I just realized this project is abandoned, I'll leave this here in case someone else picks it up.

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

New auto profiles cannot be added in the options

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.

  • Operating System: Manjaro Linux KDE
  • Antimicro Version: 2.24*
  • Qt Version: 5.12.2
  • Kernel Version: 4.19.32-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.

Allow Set Switch (While Held) and KB button hold at the same time

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.

Key assignments for trigger buttons are not being saved

Distribution: Arch Linux
Version: b65c00c

Prerequisites:

  • Have a gamepad with an analog trigger button

How to reproduce:

  • Assign any key to a trigger button
  • The key correctly shows as assigned and works
  • Save a profile on disk
  • In the drop-down list, select and then load the profile you saved; alternatively, just restart AntiMicro
  • The key for L/R Trigger shows as [NO KEY]

Latest

Visuals :-D

1

2

3

4

5

6

It works great Thanks!

Typo in Build Dependencies....

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".

screenshot from 2018-04-09 03-19-00

"Quick Set" button and other mapping buttons causing MIT-MAGIC-COOKIE-1 segmentation fault on Ubuntu 18.10.

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.

Feature Request/Bug? - Auto Profiles Detect Specific Controller

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.

[Feature request] Bind keys to run a script

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.

antimicro.appdata.xml.in

Found 2 small things in
antimicro/other/appdata/antimicro.appdata.xml.in

screenshot from 2018-04-11 02-25-05

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

screenshot from 2018-04-11 02-26-22

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!

Panel icon is unresponsive when autostarted with system

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.

left and right triggers presets

in LEFT and RIGHT TRIGGERS sections in the PRESETS menu ther use to be a RIGHT CLICK and LEFT CLICK presets options but now they are gone... can we have them back?

yyy

peace

Antimicro crashes when XBox 360 controller turns off automatically

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.

  • Operating System: Manjaro Linux KDE
  • Antimicro Version: 2.24*
  • Qt Version: 5.12.1
  • Kernel Version: 4.19.30-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.

Check out...

Hello again!
I fixed some things in "README" and added "Ubuntu" in "tested on" section... Here: 7ebb5ce

Also "trayicon" is now way better, look: 757109f

Also, youre new 2.24 version works GREAT on Ubuntu Cosmic Dev... Thanks!
Peace!

Nitpicking

"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.

Redundant dialog shows when assigning a key

Distribution: Arch Linux
Version: b65c00c

How to reproduce

  • Select a gamepad button on the main screen you want to assign a keyboard key to
  • Click on an arbitrary key on the virtual keyboard
  • Another dialog shows that asks you to press a key on a gamepad ("Please press a button or move an axis on XInput Controller [...]")

That dialog is redundant - you already selected the gamepad key whose assignment you wanted to modify.

en.po

In "antimicro/other/appdata/PO_files/en.po"

from

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

3

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.

DEB file?

Is there a DEB file available, or PPA for Ubuntu 18.04?

Qt4 build fails

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!

Create windows builds

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.

BuildOptions.md

In "antimicro/BuildOptions.md" it reads:
44444418

But it should say:

-DAPPDATA
Default: ON. Build the project with AppData support.

-DWITH_UINPUT
Default: ON. Compile the program with uinput support.

Crash when dead zone = max zone

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!

Feature Request: Functions

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.

Windows Build Instructions

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.

Crash when a mouse wheel is mapped to an analog stick

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).

Segmentation fault when using command line

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.6

Thread 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.6

Thread 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.

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

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

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.