forked from tioui/antimicro
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changelog
711 lines (467 loc) · 26.1 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
2015-03-22 Travis Nickles <[email protected]>
Version 2.12.1
* Implemented a small wizard that will be run when antimicro is launched
for the first time. It currently only has a page for editing some of the mouse
settings and a page for associating antimicro 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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 antimicro 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 <[email protected]>
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 antimicro 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
antimicro 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 antimicro 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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Version 2.7
* Added a UAC workaround for use in Windows. antimicro can be restarted
as Administrator in case a game is running with elevated permissions and
the events generated by antimicro 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 <[email protected]>
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 antimicro requires
using uinput integration. Also, keys can now be pressed in a tty.
2014-08-01 Travis Nickles <[email protected]>
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: antimicro ~/antimicro-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. AntiMicro 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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Version 2.3.2
* Fixed problem with old profiles not being usable in the
program.
2014-05-13 Travis Nickles <[email protected]>
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 <[email protected]>
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
returned to the first cycle zone in a sequence after a period of
time.
* Changed Auto Profile support to work properly in SteamOS
while running the SteamOS Big Picture Mode session. On many
tested games (Duke Nukem 3D, SuperTux, World of Goo), the
game had to be run in windowed mode in order for Auto Profile
support to be able to detect the application. It is recommended
that you run games in windowed mode when using Auto Profile support
in the SteamOS BPM session. This is not an issue when running the Steam
desktop client in desktop mode.
* Added a delay slot type. A delay slot can be used for
key presses in a key combination. Unlike other macro slots, slots
placed before a delay slot will remain active after the specified
time has passed.
* Added option to allow the program to start on Windows startup.
* Changed dialogs for secondary set buttons to display the set
that the button is currently in.
* Changed turbo mode to give more control. Key presses are now given
more time to be active. Key presses and releases now run for a
duration of t/2 seconds.
* Altered tray menu to display a single list when only one controller
is connected. An option has been added to allow for a single
list to also be used when multiple controllers are detected.
* Fixed issue with Windows XP Auto Profile workaround.
On the plus side, now the program is confirmed to work in
Windows XP.
* Fixed issues with Auto Profile support saving and precedence.
2014-04-19 Travis Nickles <[email protected]>
Version 2.2
* Added example controller display to Game Controller Mapping
dialog window.
* Added Auto Profile support. Allows for profiles to be associated
with specific applications.
* Added button icons in Windows version.
* Added a press time slot type. That slot type is used
to have keys active for a specific period of time.
* Allow Pause slots to have a 0 second interval. Allows
for a forced key release.
* Windows version is now built with SDL 2.0.3.
* Fixed 8-Way D-Pad mode.
* Fixed preset options in various dialogs to account for new aliases.
* Fixed ampersand rendering in set buttons.
* Fixed spring mouse mode dimension support.
* Fixed spring mouse mode accuracy under Windows.
2014-02-28 Travis Nickles <[email protected]>
Version 2.1
* Added new stick and dpad modes.
* Added set names.
* Minor fixes for Windows.
* Fixed QSettings usage to reduce reads and write to config file.
2014-02-10 Travis Nickles <[email protected]>
Version 2.0.1
* Active keyboard keys now use a reference count. This will
be useful for keeping modifier keys held when moving a stick
from a diagonal direction to a cardinal direction. This will allow a run
to be maintained properly.
* A release delay has been added to release slot events. This is needed
for some games where a key press and release might happen too quickly
for a game, such as The Elder Scrolls IV: Oblivion, to catch it.
* Altered data sent to SendInput under Windows. The change should allow
games that rely exclusively on scancode data to detect keyboard
key presses now. Previously, keyboard emulation would not work
while playing The Elder Scrolls IV: Oblivion on Windows.
* Improved key associations under Windows. VK_OEM_* keys associations
are now generated at runtime which will allow associations
to be more layout independent.
* Changed some portions of the Windows version so that the Numpad
Enter key can be emulated.
* The recent profile list is now updated when a profile is added
or removed from the list as opposed to when the program is closed.
This allows the list to be in sync while utilizing hotplugging.
2014-01-04 Travis Nickles <[email protected]>
Version 2.0
* Migrated profiles to use Qt key values as opposed to using native key code
values. Allows for better cross-platform compatibility. Current
joystick profiles will be migrated when first loaded by the program.
* Program can now be compiled against SDL 2.
* The Game Controller API provided by SDL 2 has been integrated into the
application. The API is used to abstract various gamepads to a unified
standard. Profiles made against the Game Controller API can be used with
any controller that is supported. Unsupported controllers will have to be
mapped in the program.
* A simple Game Controller mapping window has been made so people that are using
an unsupported controller can map that controller so that it can be used with
the Game Controller API. Any saved mapping string will be loaded into
SDL when AntiMicro is first launched or when you select the
"Update Joysticks" option in the main window.
* Any new saved profile will include the device type that it is
associated with in the filename. Joysticks and game controllers use slightly
different file specifications.
* Joystick hotplugging support has been added thanks to SDL 2.
* On Windows, XInput support is now available. This allows the Xbox 360
controller guide button to be usable and both gamepad triggers can be used at
the same time. Previously, only DirectInput was being used so both triggers were
being mapped to one axis so they would negate each other if used at the same
time. This problem would really affect people trying to play Call of Duty with a
360 controller when the "Hold Aim Down the Sight" option is enabled in the game.
* The list of recent profiles is now tied to a joystick GUID or joystick name
if the GUID is not available (compiled against SDL 1.2).
* Program options window has been made. For right now, it is only being used to
allow users to be able to disable Game Controller integration for specific
controllers.
* Mouse events are queued before a mouse event is sent to the system. This
allows for smoother diagonal mouse movement. This really helped improve camera
control for me in Warsow.
* Key checker dialog has been made so you can check the alias values that are
being used for keyboard keys. This is mainly for debugging purposes. If you
find that a keyboard key that you use does not have a built-in alias, please
let me know so an alias can be added. Although, the key can still be used in
the program and saved to a profile. The major downside is that a profile
that uses an unsupported key will not be cross-platform compatible.
2013-12-13 Travis Nickles <[email protected]>
Version 1.2
* Improved while held set changing so that the program should not get stuck on
the wrong set. The changes made should behave roughly like the old while held
workaround that used turbo.
* Windows port of AntiMicro has been made.
* Tweaked code used for button presses and releases in order
to improve responsiveness.
* Allow time-dependent action slots to have an interval
as low as 0.01 seconds.
* Tweaked Release action slot. Release slots can now be placed at the
beginning of the assigned slots. This can be useful for
Tap and Hold slot configurations.
* Pause slots can now be used with Release slots.
* Profiles can be removed from the recent configs list.
* Spring mouse mode preview has now been enabled.
* Mouse speed modifier action slot has been added. This can be used to modify
the mouse speed settings used with any controller element while the slot is
active. The setting will modify the mouse speed by the percentage that is
specified. The mouse speed modifier can be used to allow for the mouse speed
to be slowed down while sniping.
* Button and action names have been added. Names can be used to describe
the action that a slot sequence performs in the game.
* Mouse wheel buttons are now used as a form of mouse movement. Mouse wheel
scrolling is now possible without using turbo. The speed that the wheel is
rotated can be specified in the mouse settings dialog window.
* Added support for two extra mouse buttons.
* A new controller properties window has been made. This window shows various
bits of information provided by SDL about a controller as well as the current
values of all the controller elements.
* Added quick assign functionality for sticks and virtual dpads.
* Windows version of the program now uses LocalAppData variable to know
where to place the program's settings file.
* New translations provided by the translation team.
2013-10-03 Travis Nickles <[email protected]>
Version 1.1
* Added spring mouse mode. This mode is used to move the mouse cursor
from the center of the screen based on how much an axis has been moved
from the dead zone. The mouse cursor will be returned to the center
of the screen when the axis is released.
* Added mouse curve options from QJoyPad.
* Tweaked mouse movement in cursor mode to improve axis responsiveness
and to allow mouse movement to be less jittery.
* Added optional mouse smoothing for a further reduction
in jitter in exchange for slightly delayed responsiveness.
* Moved various mouse settings into a new dialog window.
Several other dialog windows have been changed to point to the
new dialog window to allow for mouse setting adjustments.
* Added an option to start the program hidden.
* Tray menu has been tweaked to allow configuration profiles to be
disabled. A blank new profile will be enabled in the program
for a controller. This is equivalent to selecting <New> in the main window
combobox.
* Serbian translation provided by Jay Alexander Fleming.
* Brazilian Portuguese translation provided by VaGNaroK.
2013-07-12 Travis Nickles <[email protected]>
Version 1.0
* 8-way controls have been implemented. This allows keys to be mapped
to the diagonal directions of controller sticks and dpads. 8-way controls
allow rougelike games to be playable.
* Virtual Dpad support has been added. Axes and buttons can be mapped
to a virtual dpad. This is useful for mapping dpads that are detected as a
pair of axes in SDL.
* A Quick Set option has been added. Using the Quick Set option, you
can press a button on the controller and the program will bring up the edit
window for that specific button. The button can then be mapped to an
assignment from the edit window. The Quick Set option also works for axes,
controller sticks, and dpads. This is more of a convenience function than
anything but I have found it really useful since implementing it.
* Main interface button text is now updated whenever the assigned slots
are changed. This allows the buttons' text to be in sync in many situations
that was not possible before.
* Toggle and Turbo can be used together to create automated key macros for
use in MMORPGs.