This repository has been archived by the owner on Aug 31, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 13
/
Changelog
1277 lines (775 loc) · 41.9 KB
/
Changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2018-16-06 Jagoda Gorska <juliagoda.pl@protonmail.com>
Version 3.0.1
* Works with old antimicro profiles
* Added small changes (in instructions, comments, etc.)
* Added running in tray from right button
Version 3.0
* Added qt directives for compatibility with older versions of qt5
* Arch Linux packages of application of frealgagu and sir_lucjan
Link1: https://aur.archlinux.org/packages/antimicrox/
Link2: https://aur.archlinux.org/packages/antimicrox-git/
* Deb package of Paweł "pktiuk" Kotiuk
Link1: https://github.com/pktiuk
Link2: https://github.com/juliagoda/antimicroX/pull/120
Link3: https://github.com/juliagoda/antimicroX/pull/103
* Rpm package of Gergely "gombosg" Gombos meanwhile
Link1: https://github.com/gombosg
Link2: https://github.com/juliagoda/antimicroX/issues/118
* Created and added dockerfiles to containers - look README
Link1: https://hub.docker.com/r/juliagoda/antimicrox
* Changed icon for antimicroX
* Added F13-F24 buttons to "Others" only if they are detected on keyboard
* Added more adjusted debug/info/warning outputs to log settings
* Added new functionality - joining and splitting slots
* Added new functionality - deletion of more slots at once
* Added new functionality - insertion of more slots at once
* Added new functionality - One choice of execution paths and its arguments for multiple slots
* Added new functionality - One choice of profile for multiple slots
* Added new functionality - attaching numeric keypad keys thanks to option in settings
* Added new functionality - global shortcuts for quitting application from settings
* Added support for the same model of gamepads
* Updated german, english and polish translation files
# Fixed issue #92
* Fixed issue #97
* Fixed issue #90
* Fixed issue #98
* Fixed issue #101
* Fixed issue #107
* Fixed issue #108
* Fixed issue #109
* Fixed issue #113
* Fixed issue #112
* Fixed issue #114
* Fixed iisue #116
Version 2.25
* renamed AntiMicro into antimicroX
* added detection of scripts - fixed unfinished JoyExecute slot
* added menu icons and shortcuts
* removed unused files and directives
* removed majority of deprecated code
* updated information about application
* sorted and cleaned headers in header files
* unlocked multiple parameters for command line
* added notifications about battery level
* added guard conditions
Version 2.24.2
* Fixed bug with too many "emit propertyUpdated()"
* Splitted JoyButtonSlot class into JoyButtonSlotXml and the original
* Created template class for JoyDPad and VDPad xml
* Splitted GameControllerDPad class into GameControllerDPadXml and the original
* Replaced for loops with iterators and functional mappers
* Replaced for loops with hashiterators
* Added functions about vendor and product informations
* Changed guid to uniqueID
Version 2.24.1
* Changed images and screenshots
* Updated Documents (README, *.txt files, *.md, *.mm files)
* Updated resources
* Created index.theme
* Changed destination directories for icons, images, index.theme and other resources
* Translated new text entries
* Added detection of window partial title
* Added reset settings option
* Created smaller functions in part of classes
* Splitted part of classes into new xml classes
* Added com.github.juliagoda.antimicro.json for Flatpak (building and installation on Linux)
* Cppcheck Analysis - fixed part of warnings
* Added Comparing to nullptr instead of NULL and smart pointers
* Changed if else to switch statements for int data types
* First preparation for unit tests (app splitted into library (antilib) and executable (antimicro))
* Updated calibration - reset old values during calibration startup
* Fixed part of memory leaks with Memcheck (application exit)
* Fixed bug in gamecontrollermappingdialog class
* Fixed segmentation fault for activating Turbo option
* Unblocked delay sliders
Version 2.24
* Added calibration
* Ported Qt4 to Qt5
* Removed Qt4 support
2016-11-05 Jeff Backus <jeff@jsbackus.com>
Version 2.23
* Fixed portable version. (issue #37)
* Added ability to specify logging level and file in config dialog. (issue #50)
* Updated build system to find libraries on Windows systems instead of using
explicit paths. (issue #43)
* Added relevant window information to debug messages related to auto profiles.
(issue #46)
* Fixed issue with anything in profile name after first period being truncated.
(issue #70)
* Fixed issues with SDL 2.0.5 on all platforms. (issue #71)
* Added support for additional small-case Latin characters when using Xtest.
(issue #49)
* Added inclusion of README-SDL.txt when building Windows distributables.
2016-07-30 Jeff Backus <jeff@jsbackus.com>
Version 2.22
* Fixed a segfault on startup issue affecting some Linux distributions
* Fixed issues with SDL 2.0.4 on Windows.
* Updated documentation and URLs in code to note transition in
management.
* Updated translations and added new ones.
* Added code to revert all virtual buttons to beginning of slot list
before a set switch.
* Build system updates
* Fixed a bug where invalid joystick was inserted into device list.
* Modified to hide turbo mode combobox for regular buttons
* Changed to allow blank config for auto profile entries again.
* Fixed matching by process filename in AutoProfileWatcher
2016-01-10 Travis Nickles <nickles.travis@gmail.com>
Version 2.21
* Changed unplug routine slightly. The old behavior was slightly wrong anyway
but the old behavior did not work with SDL 2.0.4.
* Custom Qt builds are being used for the 64 bit Windows build and noSSE
Windows build.
* Updated Windows build to use Qt 5.5.1.
* Updated Windows build to use SDL 2.0.4. This should clear up a couple
of problems for people running Windows 10.
* Changes to some acceleration curves. Both the output values and the input
offsets were changed to make mouse movement looser.
* Removed First Run Wizard from program. In the end, that wizard was causing
more problems for other users than it was worth.
* Add arguments property for Execute slots.
* Allow a real absolute mouse to be used with uinput support. Previously,
relative mouse movement was being used to fake an absolute position for the
mouse pointer. The WiimoteGlue project provided a way to allow uinput to
send absolute mouse pointer events when using uinput.
* Fixed set changing with analog triggers.
2015-10-19 Travis Nickles <nickles.travis@gmail.com>
Version 2.20.2
* Change Enhanced Precision and Easing Quad/Cubic acceleration
curves
* Skipped straight to 2.20.2 since version 2.20 actually had 2.20.1 marked
as its version in the application
2015-10-10 Travis Nickles <nickles.travis@gmail.com>
Version 2.20
* Replace usage of QElapsedTimer with QTime for mouse movement calculations.
* Start using Qt 5 with Ubuntu Vivid package.
* Change XTest pointer acceleration when starting the program.
* Allow release slot to have a 0 ms interval. This is useful for people who
use a gamepad poll rate less than 10 ms.
* Change minimize to tray code to work better with later versions of Gnome 3
and Unity.
* Transfer travel distance axis changes when switching sets.
2015-09-29 Travis Nickles <nickles.travis@gmail.com>
Version 2.19.3
* Japanese translation provided by tou omiya.
* Make sure Game Controller Mapping dialog window reads raw joystick events.
This should fix problems regarding improper mapping causing controller elements
to no longer be mappable.
* Make Set Change slots activate on button release instead of button press.
* Tweaked the locking being performed in various portions of the program.
* Fixed a problem with blank info window appearing when escaping from window
capture utility dialog.
* Fixed issues with document-save-as icon staying displayed after resetting
a profile.
* Fixed "Media Next" key binding for virtual keyboard.
* Fixed various issues regarding binding slots in the Advanced Edit dialog window.
2015-09-15 Travis Nickles <nickles.travis@gmail.com>
Version 2.19.2
* Add --next to allow multiple profiles to be loaded in one command call.
* Add a flag to settings file when wizard is finished. Don't depend on any
other settings being changed during an application run.
* Fixed issue with inserting Pause slots.
* Fixed issue with blank application filepath being matched for auto profile
support.
2015-09-03 Travis Nickles <nickles.travis@gmail.com>
Version 2.19.1
* Fixed SDL 1.2 build support.
* Fixed issue with SDL thread not being stopped due to connections not being
made in some situations.
* Fixed loading of a profile from a second instance.
* Fixed problem with main window not being populated after the App Settings
Wizard was finished.
* Fixed another portion of the program that assumed that a controller would be
connected at startup. Fixes excessive CPU load.
2015-08-31 Travis Nickles <nickles.travis@gmail.com>
Version 2.19
* Added curve options for extra acceleration.
* Fixed bug when App Settings Wizard would pop up when not needed.
* Simplified Chinese translation updated.
2015-08-24 Travis Nickles <nickles.travis@gmail.com>
Version 2.18.2
* Fixed overly active timer used to reset acceleration distances when
no events are returned from SDL in a given gamepad poll.
* Sebian translation updated by Jay Alexander Fleming.
* Changed behavior of 4 Way Cardinal mode for DPads. Diagonals are no longer
counted as a dead zone. This change is more likely temporary.
Up+Right - Up, Down+Right - Right, Down+Left - Down, Up+Left - Left
2015-08-18 Travis Nickles <nickles.travis@gmail.com>
Version 2.18.1
* Fixed some threading issues when using X11.
* Fixed excessive CPU load on startup when no controller is connected.
2015-08-15 Travis Nickles <nickles.travis@gmail.com>
Version 2.18
* Perform event simulation in its own thread. Timer used for mouse speed
calculations has improved as a result.
* Slow down Enhanced Precision mouse acceleration curve slightly. Changes
were mainly due to overall mouse emulation being tweaked.
* Distributing 64 bit builds for Windows again.
* Using a simulated event to click the minimize button in title bar now works
on Windows. The move to using a dedicated thread for event simulation allows
that to work now.
* Simplified Chinese translation added thanks to zzpxyx.
2015-08-02 Travis Nickles <nickles.travis@gmail.com>
Version 2.17
* Changed Enhanced Precision acceleration curve. The curve has been slowed down
slightly.
* Changed how initial mouse movement is performed when the gamepad poll rate
and the mouse refresh rate differ.
* Flash interface buttons after restoring the main window from the tray icon.
* Tweaked mouse movement remainder routine. Remainders now only apply when
the direction along an axis is the same.
* Raised maximum cycle reset time to 60 seconds.
* Fixed improper cycle reset interval.
2015-07-22 Travis Nickles <nickles.travis@gmail.com>
Version 2.16
* Loosen initial mouse movement experienced after going outside the dead zone.
* Added option in the mouse settings section that would allow antimicroX to
reset the acceleration values being used for the uinput virtual mouse pointer.
This is useful after playing older Linux games that change the acceleration
settings for all mouse pointers after a game exits. Postal 2 and Doom 3 are two
examples of games in my game library that exhibit this behavior.
* Queue all events before performing any actions. The priority of various events
has been changed as well.
* Added option to change the gamepad poll rate used by the application. By
default, the old 10 ms poll rate will be used.
* Bundle a few backup icon files. Mainly useful on SteamOS since the themes
used don't bundle a couple of essential icons that are expected to be present.
* Compiled vmulti support into Windows build. The driver is not currently
provided. The program needs to be started with the arguments --eventgen vmulti.
* Temporarily stop packaging a 64 bit version of the program for Windows.
Unfortunately, the version of Qt being used has a problem regarding timer
accuracy that is not experienced with the 32 bit version of Qt being used.
At this time, working around the problem is not feasible so there will be no
64 bit release. Please use the 32 bit version.
* Change shortcuts used for the .msi package.
* Bundle Qt translation files for Windows version.
2015-06-27 Travis Nickles <nickles.travis@gmail.com>
Version 2.15
* Changed routine for extra acceleration for mouse movement. The new version
is a bit faster and more responsive than the previous version.
* Added release circle setting for spring mouse mode. This can be used to have
the mouse return to a region around a character based on the last detected
direction of an analog stick.
* Added a sub-menu to the virtual keyboard. Some multimedia and browser keys
can now be selected.
* Added Execute slot type. A program can be set to launch when a slot is
activated.
* Added Text Entry slot type. You can now have a string of text typed
when a slot is activated. This can be useful for inputting common commands in
games.
* Added proper interpolation to determine the start of diagonal regions of
analog sticks. This is used for mouse movement in order to determine the proper
starting dead zone point.
* Changed Enhanced Precision mouse acceleration curve. The new changes in the
curve should be much looser than before.
* Fixed --unload command line option. Enforce reloading of config file
when finished.
* Fixed issue with spring mouse mode where the mouse would temporarily return
to center when switching stick directions quickly.
* Fixed some bindings in the virtual keyboard when using SendInput for the
event generator.
* Fixed issue with widgets used to update stick and dpad delay. The spinbox can
now be used to edit the delay.
* Reduced multiple instances of some objects. Reduces memory usage slightly.
2015-05-01 Travis Nickles <nickles.travis@gmail.com>
Version 2.14
* Refactored extra axis acceleration. This revision uses individual gamepad
polls again. Other changes in the code have made switching back feasible. With
minor adjustments, the mouse will be looser but very controllable.
* Added longer duration for extra axis acceleration. This allows extra
acceleration to be performed over a period of time as opposed to just one
gamepad poll.
* Changed key repeat routine when using SendInput on Windows. Key releases
restart the last active key repeat delay.
* Now using Qt64-NG for the 64 bit Windows builds.
* Initial experiments with vmulti support in the Windows version. Using that
driver would allow antimicroX to use a virtual keyboard and mouse rather than
using SendInput. That would allow antimicroX to work around UAC problems and
anti-cheat programs. Support is not currently compiled into the Windows builds
due to not being able to properly distribute the vmulti driver.
* Do not write empty names tag in profiles if no custom button names have been
specified.
* Allow mouse history buffer size to go up to 100.
* Allow diagonal range to go up to 90 degrees.
* Remove old mouse speeds from mouse history buffer if stick has been returned
to the dead zone. History buffer will be filled with zeroes.
* Omit hotplugging dependent code when compiling against SDL 1.2.
* Fixed dpad pointer bug when certain QueuedConnection slots are executed.
2015-03-31 Travis Nickles <nickles.travis@gmail.com>
Version 2.13
* Updated extra axis acceleration routine. Now, extra acceleration is
calculated after an axis has stopped moving past the assigned threshold
in one gamepad poll.
* Stick presets now change the diagonal range of a stick. This is mainly
beneficial for mouse control changes so that 65 degrees is used by default.
* Added a screen selector for Spring mouse mode in settings menu.
* Added a small language selection portion to the settings menu.
* Added a small logger. Please run antimicroX with "--log-level debug" in order
to get output about button presses.
2015-03-22 Travis Nickles <nickles.travis@gmail.com>
Version 2.12.1
* Implemented a small wizard that will be run when antimicroX is launched
for the first time. It currently only has a page for editing some of the mouse
settings and a page for associating antimicroX with .amgp files on Windows.
* Show slots that are active for a stick modifier button on the main interface.
The text for the main stick direction buttons will be prefixed with the
currently active slots of the stick modifier button.
* Corrected issue with stick and dpad events not getting activated on a set
change. Events were being queued but not executed.
2015-03-15 Travis Nickles <nickles.travis@gmail.com>
Version 2.12
* Added option for extra mouse acceleration. Enabling that option will
increase the speed of the mouse based on the amount an axis has travelled in one
gamepad poll and the set multiplier. This will greatly affect how the mouse
behaves and it will make mouse movement looser. Using this feature can be
problematic if the analog stick on your controller is worn out and loose.
* Corrected issue with extra mouse sync events occurring when not needed (0,0
events). This change seems to have smoothed out mouse movement on the low end
of an axis a bit.
* Tweaked controller unplug workaround to still invoke release events for
axes and buttons. For triggers, the release value is modified from what is
provided by SDL so an unplug event will cause a release event to occur for the
triggers.
2015-02-25 Travis Nickles <nickles.travis@gmail.com>
Version 2.11.1
* Added workaround to allow gamepad unplugging on Windows to not
activate bindings for the triggers. This was caused by the way controller
unplugging is handled by SDL (primarily with the Windows version).
SDL sends a release value for all elements of an unplugged joystick a brief
period before sending the expected SDL_JOYDEVICEREMOVED event. The problem is
that the released value used for triggers assumes that the dead zone is half the
trigger's full range. This would cause bindings for triggers to usually activate
for a brief period before SDL would send the final SDL_JOYDEVICEREMOVED event
which would then deactivate those bindings.
* Changes for the portable Windows version. Allow relative profile paths for
use in the portable package on Windows. Associate profiles registry change
prompt skipped.
* Queue stick and dpad events. Allows for better control of 8-way sticks
and dpads.
2015-02-07 Travis Nickles <nickles.travis@gmail.com>
Version 2.11
* Adjusted the Enhanced Precision, Easing Quadratic, and Easing Cubic
mouse acceleration curves. The low end of each curve has been loosened a bit
and the rest of the curves have been adjusted accordingly. Comparing the two
versions, the resulting mouse speed for a given axis point is slightly lower
in the new versions for most of the curve. The extreme low end and the extreme
high end of the curves will be slightly faster.
* Updated Qt to version 5.4.0 for the Windows builds.
* Compiled a 64 bit version for Windows thanks to the Qt-x64 project.
* Added a set changing slot.
* Added AppData for use when packaging on Linux thanks to Jeff Backus.
* Fixed bug with mouse wheel event methods for axes which resulted in negative
values being passed to the event timer.
2014-12-29 Travis Nickles <nickles.travis@gmail.com>
Version 2.10.1
* Changed event handler fallback method under Linux.
* Changed interface of Assignments page in Advanced Button Dialog.
* Reset set number upon changing profiles.
* Added "About Development" tab to About Dialog.
* Fixed dynamic text resizing in Button Edit Dialog under Linux.
* Fixed launching a second instance in order to load a profile in the
first instance.
2014-12-10 Travis Nickles <nickles.travis@gmail.com>
Version 2.10
* Changed allowed values for easing duration. The minimum value has been
lowered to 0.0 and the maximum value has been increased to 5.0.
* Added a stick modifier button. This button is primarily meant to be used
to assign walk/run functionality to an analog stick. Instead of having to
create distance zones and assign keyboard modifier keys to each stick button,
you can now make the assignment on the stick modifier button and it
will apply to the stick as a whole. It makes assigning walk/run functionality
to an analog stick much less cumbersome. The DreadOut demo has already shown a
use case where only the stick modifier button was needed due to the demo not
handling running when using the left stick on an Xbox 360 controller.
* Increased idle mouse timer interval to 100 ms.
* Added a load profile slot. You can now tell the program to load a different
profile upon pressing a button.
* Added gradient functionality for the high end of the Easing Quadratic and
Easing Cubic mouse acceleration curves.
* Raise process priority on Windows. Now, the antimicroX process will run
with High priority. This allows internal timers to work better and be less
susceptible to the activity of other running programs. On Linux, the priority of
the main thread has been increased.
* Take multiple direction buttons into account when assigning set switching
to stick buttons.
* If uinput is enabled but not usable at runtime then XTest will be used
as a fallback option for the Linux version.
* Tweaked Gradient and Pulse turbo modes to make them a bit tighter. A lower
delay will be needed in profiles to achieve a similar control from previous
versions. On the plus side, this has been tested to work with FlatOut 2 fairly
well. It is good enough to use and actually win some races against AI opponents.
* Added analog control for mouse wheel buttons that are mapped to an axis
button.
* Tweaked mouse movement code to improve mouse accuracy. This is mainly due
to discovering the QElapsedTimer class that is included in Qt.
* Fixed middle mouse button binding when using the uinput event handler
on Linux.
* Fixed memory leaks that were discovered by Valgrind.
2014-11-19 Travis Nickles <nickles.travis@gmail.com>
Version 2.9
* Added mouse refresh rate as an option. Please be mindful of how your
system behaves if you set the refresh rate to a low value like 1 ms.
In the worst case scenario, you could end up dedicating one CPU core on
just the antimicroX process. Also, on Windows, you will want to make sure
to disable the "Enhance Pointer Precision" option if you use a low value
otherwise Windows will severely slow down the mouse pointer.
* Added an application level mouse smoothing option. The older button level
smoothing option has been removed. The old option didn't do much since it only
dealt with the partial distance remainder.
* Button responsiveness has been improved. The old mouse movement code was
creating a bottleneck for button processing which would result in a slight
delay.
* Changed mouse movement code. The overall mouse movement should be smoother
now.
* Allow the Windows setting "Enhance Pointer Precision" to be disabled while
antimicroX is running. This will make sure Windows does not directly manipulate
the mouse events sent to the system. This will allow mouse control on an analog
stick to be more accurate on Windows.
* Changes to Auto Profile to allow more variables for matching. Multiple
window properties can be specified which will cause antimicroX to count an
entry as a match only if all specified properties match.
* Changed how windows are grabbed in X on Linux.
* Minor fix for Gradient and Pulse turbo modes. There were times when the
timer interval controlling those modes could be negative and cause problems.
2014-11-05 Travis Nickles <nickles.travis@gmail.com>
Version 2.8.1
* Fixed some buttons in virtual keyboard when program is using uinput support.
* Fixed Update Joysticks option for SDL 1.2 users.
2014-10-28 Travis Nickles <nickles.travis@gmail.com>
Version 2.8
* Added delay settings for analog sticks and dpads. This is meant to
keep some games from overreacting when switching directions quickly.
A delay is especially useful for games that utilize a dash on a key double tap.
This will also be very useful while playing rougelike games. The new
delay setting allows for more responsive controls than the old alternative of
using hold zones on individual direction buttons.
* Added two new mouse acceleration curves: Easing Quadratic and
Easing Cubic. These new mouse acceleration curves are meant to mimic the
camera control that is used for gamepad support in some recent first person
shooters such as Borderlands 2. Once a stick direction has reached a threshold
(80%) then the mouse speed will gradually accelerate over a period of time
before the mouse speed reaches its peak. The duration of the easing method is
set at 0.50 seconds by default but the setting is configurable per
button.
* Major refactor to mouse event generation. The new routine requires
fewer system resources and it is more accurate.
* Made uinput support a runtime option for Linux users. The program can
now be compiled with both XTest and uinput support and the event
generator can be specified using the --eventgen flag. It defaults
to XTest if available. The option is only available when the program
is compiled with both XTest and uinput support.
* Added right click context menus for buttons in main interface.
* Fixed issue with Game Controller Mapping dialog. Controller DPads that
are exposed as 4 buttons can now be bound to the DPad of an SDL Game
Controller.
* Fixed an issue with incorrect profile names being displayed in the
profile combobox.
* Fixed issue introduced in version 2.7 regarding mouse movement calculations
for the left direction of analog sticks. A major portion of the
safe zone for that direction was being skipped.
* Changed button groups in the main interface to update immediately
when a stick or dpad mode has been changed.
* Initial removal of old joystick abstraction support in interface when using
SDL 2.
2014-10-14 Travis Nickles <nickles.travis@gmail.com>
Version 2.7
* Added a UAC workaround for use in Windows. antimicroX can be restarted
as Administrator in case a game is running with elevated permissions and
the events generated by antimicroX are not detected by a game.
* Added more key aliases for uinput support.
* Force higher dead zones for axes in Game Controller Mapping window.
* Fixed virtual keyboard in Button Edit Dialog window for Linux users
utilizing XTest support.
* Display some minor mouse stats in Mouse Settings dialog.
* Alter Analog Stick dialog window to show some new stats. Also,
show square stick coordinates as well as adjusted circle
stick coordinates.
* Added square stick to circle stick conversion.
* Fixed issue with VK_LSHIFT and VK_RSHIFT aliases not being saved properly
on Windows.
* xinput is used for the uinput virtual pointer in order to
disable mouse acceleration for the pointer. This allows spring mode to work
as intended.
* Added some code to guess which axes of a gamepad should be considered
triggers by default while in old Joystick mode. The initial values of
axes are taken from SDL and those are used as the point of the axes
while centered. If the initial value of an axis is below -30,000 then
an axis is considered to be a trigger.
2014-09-16 Travis Nickles <nickles.travis@gmail.com>
Version 2.6
* Added two new Turbo modes. Gradient mode is used to change the key press
time depending on the position of an axis (useful for racing games).
Pulse mode is used to change how many times a key press is invoked depending
on the position of an axis (scrolling in a web browser using arrow keys).
* Fixed profile resetting in a couple of places.
* A Russian translation has been provided by Dima Koshel.
* Added option to invoke Game Controller mapping window from command line.
The final mapping string will be printed to stdout. This is useful
for saving a SDL_GAMECONTROLLERCONFIG for your controller that
can be used system wide. Any SDL 2 game can then be set up to use
that mapping and it can be changed if needed.
* Profiles now use a unique .amgp file extension. Older xml profiles will
continue to be supported.
* Fixed spring mouse mode so that it uses proper axis distance values.
* Set changing has been fixed for analog sticks and virtual dpads.
* EXPERIMENTAL. uinput support has been added to the source code. Binary
Linux packages will continue to utilize XTest for event generation for the
time being. If you would like to test uinput integration then you will have
to compile the program using -DWITH_UINPUT=ON and -DWITH_XTEST=OFF
when running cmake. Playing Warsow 1.51 in Linux using antimicroX requires
using uinput integration. Also, keys can now be pressed in a tty.
2014-08-01 Travis Nickles <nickles.travis@gmail.com>
Version 2.5
* Fixed packaging the Windows version so the program will work on
Windows XP again.
* Delay rendering of flashing buttons. This helps improve controller
responsiveness when the main window is not hidden.
* Reduced the size of written profiles. Only changed values are
now stored in profiles.
* Updated German translation provided by phob and Leonard Koenig.
* Allow a profile to be listed as the final argument on the command line.
Ex: antimicroX ~/antimicroX-profiles/profile.xml.
* Added diagonal distance support for distance slots for Standard
mode on Sticks and DPads. This was necessary for some modifier assignments
to work properly. The best example is for assigning walking in Half-Life 1.
* Allow generated events to be sent to a different X display than the
application is running on. This change was mainly done to better work
with SteamOS. antimicroX can be run via ssh with X tunneling in order
to configure profiles on one system but the program will send events to the
X display that is running Steam and games.
* Auto Profile support has improved for SteamOS. Application grabbing can
now be done while in the SteamOS BPM Session. Steam BPM can be grabbed as
well.
* Only show active or soon to be active slots for buttons in the main
window. The text displayed on the buttons will update when a
new zone has been reached due to using slots such as distance or hold.
* Allow no profile to be assigned to an application for an Auto Profile entry.
This means that the program will choose an empty profile when the application
for that Auto Profile entry has focus. This will help with disabling antimicro
for applications that already have controller support.
* Controller Mapping dialog now stops processing events until all elements
have been released on a controller.
2014-05-30 Travis Nickles <nickles.travis@gmail.com>
Version 2.4
* Relative spring mode added.
* Key repeating changes in Windows.
* Updated Windows version to use Qt 5.3.0.
* Set copying added.
* Corrected application checks used for Auto Profile support
in Windows.
2014-05-23 Travis Nickles <nickles.travis@gmail.com>
Version 2.3.3
* Tweaked Enhanced Precision mouse acceleration curve.
* Tweaked "all" option in Auto Profile. No profile assigned to "all" now
implies that a blank configuration should be loaded.
* Manpage created by Jeff Backus.
* Migrated to the CMake build system.
2014-05-15 Travis Nickles <nickles.travis@gmail.com>
Version 2.3.2
* Fixed problem with old profiles not being usable in the
program.
2014-05-13 Travis Nickles <nickles.travis@gmail.com>
Version 2.3.1
* Added new Enhanced Precision mouse curve. It is now the default
mouse curve. The new mouse curve will make the cursor move slowly
towards the low end of an axis and the cursor movement will be
accelerated towards the high end of an axis.
* Added unsaved profile dialogs.
* Added key repeating behavior under Windows.
* Increased maximum turbo interval.
* Added more options to the Edit Settings dialog.
* Added profile name display editing.
* Fixed invalid pointer issue for Hold events.
2014-05-02 Travis Nickles <nickles.travis@gmail.com>
Version 2.3
* Added a daemon mode.
* Added joystick profile compatibility parser for game controllers.
Old profiles are now usable when using SDL Game Controller support.
Old profiles have to be mapped against the same controller that
is connected.
* Added cycle reset support. Sequences with cycles can now get