Gamepad: Add JoyToKey and Ironsphere config file

This commit is contained in:
John Schumacher 2016-05-08 21:13:50 -05:00
parent f66ca72bf9
commit e2125ed325
7 changed files with 629 additions and 0 deletions

355
JoyToKey_en/Changes.txt Normal file
View file

@ -0,0 +1,355 @@
---------------------------
JoyToKey change history
---------------------------
Ver 5.8.2
* Increased the maximum number of joysticks from 16 to 32.
Ver 5.8.1
* Bug fix
Ver 5.8
* Enhanced the support for XBox360 controller. For example,
- The silver guide button can be assigned as button 13
- Left/Right trigger can be assigned as analog input button 11, 12
* Added support for XInput devices besides DirectInput devices.
* Enhanced auto-repeat definition to support more flexible definition.
(for example, 1.2 times per second, or repeat every 2.5 second)
* Added an ability to show an image file when an active profile is changed.
Image file can be registered in Options tab for each profile.
* A few minor bug fixes
Ver 5.7.1
* Support "Numpad Enter" key assignment via right-click menu.
* Support up to 4 POV inputs.
* Enhanced the right-click menu on the joystick tab and on the button list
such that the selected configuration can be copied-to or pasted-from
a clipboard.
* Enhanced device configuration to support axis mapping for all 8 axes.
Ver 5.7
* Support for an absolute mouse movement (a.k.a. spring mode)
Mouse cursor can be positioned at a configured center location and can
be moved within a specified range with an analog input stick. This can
be useful for an application like a flight simulator easier.
A regular button can be also used like a mouse shortcut by jumping the
mouse cursor to a preconfigured position, followed by a mouse click.
* Exposed hidden parameter "AnalogDeadZone" (which is used for DirectInput
setup) in "Settings -> Configure Joysticks". If you want to minimize the
input threshold for your device, please try setting it to zero. If you
need a different threshold for Stick1 and Stick2, you can continue to do
so in "Options" tab for each profile.
* Enhanced SHIFT key (virtual joystick) function to support delayed switch.
Combined with a "Button Number Mapping" feature, for example, one button
can be assigned for both a regular key input (for a short press) as well
as for a SHIFT function (for a long press).
* Enhanced "Switch depending on how long the button is pressed" in Keyboard2.
In case the event emulation is not recognized reliably when you press
the button too quickly, JoyToKey can now hold it for a minimum duration.
(default 20 msec)
* Other minor bug fixes
Ver 5.6
* Enhanced "Keyboard 2" functionality to support the followings
- support 4 keys per definition
- support the rotation of 4 input definitions
- support auto repeat and toggle configuration
* Upgraded DirectX library version from 7 to 8.
Ver 5.5.x
* bug fixes
Ver 5.5
* Support "Button Alias (Number Mapping)"
Example Usage1:
Swap button numbers if the connected joystick has a different button
layout from your favorite one.
Example Usage2:
Associate Button21 with Button1 so that both functions are triggered
when Button1 is pressed.
Example Usage3:
It is also possible to configure some button (e.g. Button22) to be
triggered when both Button5 and Button6 are pressed simultaneously.
* If some buttons are pressed when profile is changed or SHIFT function
is triggered, those button press are likely to trigger both old and new
assignments right before/after the switch.
It is now possible to define certain duration (e.g. 100 msec) to ignore
those inputs right after the switch (from preference menu)
* When both mouse cursor movement and mouse click are assigned to a button,
click&hold will be processed before cursor movement.
* Improved the reliability after resuming from PC sleep.
* Preferences were moved from menu items to a separate window.
* Added an ability to specify the number of buttons to configure.
(by default 16 buttons, MAX 32 buttons)
* Changed the user interface font to Calibri
* Configuration files are now saved in Unicode format (UTF8+BOM).
This may fix garbled character issues for the use of non-default
language.
Ver 5.4.2
* Fixed garbled characters for some non-Japanese PC and keyboard.
* (only for advanced users)
Support specifying "JoyToKey.ini" file path via registry.
If you have any reason why you need to forcibly specify "JoyToKey.ini"
file path (e.g. you're using some launcher like Hyperlaunch), you can
do so via registry editor.
1. Run "regedit" program
2. Create a key "HKEY_CURRENT_USER\Software\JoyToKey"
3. Create a string value "IniFilePath=c:\whateverpath\JoyToKey.ini"
Ver 5.4.1
* Support various file formats (such as mp3) for sound notifications.
Ver 5.4
* Added an ability to play sound or show tasktray balloon when the
selected profile is changed.
- Tasktray balloon can be enabled from "Preferences" menu.
- Sound notification can be configured for each profile in "Options"
tab. (currently, only WAV files are supported)
For example, sound notification could be useful for visually impaired
users, while they step through different profiles to help them to pick
the right one.
* The size of profile files is made smaller by eliminating empty lines.
* In case "JoyToKey.ini" file or its directory is not write-able,
JoyToKey will try to make them write-able.
Ver 5.3.1
* Homepage URL was changed to http://joytokey.net/
Ver 5.3.0
* Support delayed input for a special function to switch profiles.
If you want to keep JoyToKey running while you're playing a game
which has a native joystick support, the followings may be useful.
- Temporarily switch to a profile, which is basically empty
- But it has one button assigned for switching back to the
original profile after being pressed for X seconds.
* Control the behaviour when JoyToKey window is active from menu
"Preferences" ->
"Don't emulate keyboard input when JoyToKey window is active"
(by default true)
Ver 5.2.3
* Support emulation for 4th and 5th mouse button.
They could be useful if you're using mouse gestures with joysticks.
* Turbo mode was enhanced to support up to x16 processing speed.
However, this is experimental and should not be used for regular use
as it's very CPU intensive and is likely to slow down the PC.
Ver 5.2.2
* Support for loading configuration files from a common AppData folder
when it exists. (e.g. C:\ProgramData\JoyToKey)
* Added a new menu "Open file folder in Explorer"
Ver 5.2.1
* Bug fix: garbled characters for allow keys
Ver 5.2.0
* Support the combination of keyboard and mouse click
Ex) SHIFT+Click, CTRL+Click
In order to specify a mouse click in keyboard assignment window,
please right-click the entry box.
* Bug fix: minor bug fix for 5.1.2
Ver 5.1.2
* Bug fix: SHIFT + arrow keys were not properly processed.
Ver 5.1.1
* Mouse cursor emulation with analog sticks is further improved.
Ver 5.1.0
* Mouse cursor emulation is now much smoother with analog sticks,
by using a continuous acceleration without a threshold.
* In case analog stick input has been wrong, axis mapping can be
manually specified.
(Menu: "Preferences" -> "Configure joysticks")
* In case you have multiple joysticks and want to always use one
of them as "Joystick 2" (or any other joystick number), you can
define a priority/preferred number for each device.
(Menu: "Preferences" -> "Configure joysticks")
* Miscellaneous bug fixes.
Ver 5.0.3
* (Improvement) Re-detect joysticks after resuming from sleep.
Ver 5.0.2
* Bug fix: Preference "Highlight buttons when JoyToKey is active" was not
properly saved.
Ver 5.0.1
* Added a menu "Help -> Overview"
* Added a button "Edit button assignment"
* Minor bug fixes
Ver 5.0
* Support for different key assignments based on analog stick input level.
* Support for different key assignments based on button hold duration.
* Support for rotating key assignments. For example, whenever the same
button is pressed, its key assignment can rotate like
"A -> B -> A -> B -> A ..."
* Enhanced auto-repeat key functionality.
The following auto-repeat definitions are newly possible:
- "1.5 repeats per second"
- "one repeat per 123.4 seconds"
- "auto-repeat only after 500 milli-seconds"
* When the main window of JoyToKey is activated and joystick buttons are
pressed, those buttons will be highlighted in the main window so that
you can easily see which button corresponds to which row in the config.
(You can change it back to the old behaviour from menu setting)
* When the window is minimized, icon will be kept in the taskbar by default.
If you prefer the old behavoir and want to hide it from taskbar, you can
change it back to the old behavior from settings menu.
* Added a comment field for each button definition.
For example, you can record a memo like "This button is used for Jump".
* Support for copying joystick configration from one to another.
Right-click "Joystick 1" header in the main menu, to open a popup menu.
* Support for at maximum 4 key assignments for each button.
* Various small bug fixes
Ver 4.6
* You can choose the default behavior when the target application switches
to non-associated appliation.
* When you temporarily switch to the virtual joystick configuration while
some button is being pressed, the pressed state will be kept without
release event if its original key config and the new key config are the
same. (e.g. if the arrow key is assigned for both the original joystick1
config and the virtual joystick3 config, then switching between joystick1
and joystick3 won't trigger unnecessary release event)
From ver 3.x to ver4.5.x
* It became a shareware soft
* Support for associating config files with applications
It can automatically switch active configuration file based on running
applications.
* Support dynamic acceleration of mouse cursor movement
If you use mouse cursor emulation with analog stick, the speed
sensitivity can be accelerated at certain threshold.
* Support 4-way and 8-way assignment for POV control
* Auto repeat functionality, ranging from very slow repeat (1 time per
15 minutes) up to 60 times per second (with 2x processing mode)
* Support for toggle button
e.g. use it for drag&drop with mouse emulation, or for truly automated
repeat of keys even when you are away from PC.
* Window size became re-sizable
* Open / Close main window by left-clicking task tray icon
(right-click to open popup menu)
* JoyToKey can be started even when joystick is not connected
And it will automatically detect the newly connected joystick.
(NOTE: it only works the first joystick. If you connect the second one
or more, please press "detect" button manually from preferences panel)
* Several additions in the menu such as
- copy configuration file
- open game controller setting from control panel
- suspend / resume temporalily
- 2x processing mode (if you want to minimize the input latency, sacrificing extra CPU load)
- generate debug log
Ver3.x highlights
* Under Windows 2000 or later (including XP), JoyToKey now supports
some applications using DirectInput.
* Choosing L-Shift, R-Shift, L-Ctrl, ... from the list, you can make
a distinction between left and right keys.
(Be careful to select L-Shift or R-Shift or (normal) Shift!
You have to choose the correct one for the application!)
* Support for POV switches.
* Support for "Switch to the other configuration file" function.
* The configuration file can be easily selected and switched to
at task tray menu, without opening and activating JoyToKey window.
* The firstly activated configuration file can now be specified
by command line option at start up time.
* Analog stick can be configured in detail by modifying JoyToKey.ini
file directly:
"AnalogDeadZone" (ranges 0 to 10000: default 1000)
The center area where subtle input from analog stick is ignored.
"AnalogSaturation" (ranges 0 to 10000: default 10000)
The surrounding area from which additional inputs are saturated.

View file

@ -0,0 +1,33 @@
[General]
FileVersion=57
NumberOfJoysticks=2
NumberOfButtons=32
DisplayMode=2
UseDiagonalInput=0
UsePOV8Way=0
Threshold=20
Threshold2=20
KeySendMode=0
SoundFile=
ImageFile=
[Joystick 1]
Axis1n=1, 53:00:00:00, 0.000, 0, 0
Axis1p=1, 46:00:00:00, 0.000, 0, 0
Axis2n=1, 45:00:00:00, 0.000, 0, 0
Axis2p=1, 44:00:00:00, 0.000, 0, 0
Button01=1, 20:00:00:00, 0.000, 0, 0 ##Jump
Button03=2, 0, 0, 0, 1, 0, 0, 0.000, 0, 95, 1.0, 100, 0, 0, 0 ##Attack
Button05=1, 57:00:00:00, 0.000, 0, 0 ##Switch Weapon
Button06=1, 33:00:00:00, 0.000, 0, 0 ##Quickbind 3
Button07=1, 43:00:00:00, 0.000, 0, 0 ##Display Items
Button08=1, 0D:00:00:00, 0.000, 0, 0 ##Display Stats
Axis3n=2, -20, 0, 0, 0, 0, 0, 0.000, 0, 95, 1.0, 100, 0, 0, 0
Axis3p=2, 20, 0, 0, 0, 0, 0, 0.000, 0, 95, 1.0, 100, 0, 0, 0
Axis4n=2, 0, -20, 0, 0, 0, 0, 0.000, 0, 95, 1.0, 100, 0, 0, 0
Axis4p=2, 0, 20, 0, 0, 0, 0, 0.000, 0, 95, 1.0, 100, 0, 0, 0
Button02=1, 31:00:00:00, 0.000, 0, 0 ##Quickbind 1
Button04=1, 32:00:00:00, 0.000, 0, 0 ##Quickbind 2
Button11=1, 09:00:00:00, 0.000, 0, 0 ##Switch 1st to 3rd Person View
Button12=2, 0, 0, 0, 0, 0, 1, 0.000, 0, 95, 1.0, 100, 0, 0, 0 ##Swim

BIN
JoyToKey_en/JoyToKey.exe Normal file

Binary file not shown.

49
JoyToKey_en/JoyToKey.ini Normal file
View file

@ -0,0 +1,49 @@
[License]
Key=
TS=42492.428690081
Version=Version 5.8.2
[DirectInput]
AnalogDeadZone=1000
AnalogSaturation=10000
[LastStatus]
AllowMultipleRunning=0
StartIconified=0
ExitMeansMinimize=1
HideWhenMinimized=0
WindowPositionTop=172
WindowPositionLeft=531
WindowWidth=710
WindowHeight=500
SplitterPosition=248
ListColumnWidthButton=75
ListColumnWidthKeyboard=144
ListColumnWidthAuto=44
ListColumnWidthComment=140
FileName=Ironsphere
HighlightButtons=1
HighlightButtonsForAllTabs=0
SkipForegroundProcessing=1
NotifyBalloon=0
NotifySoundFile=
NotifyProfileImage=0
ProfileImageDuration=2000
ProfileImagePosition=3
IgnoreInputAfterProfileSwitch=0
IgnoreInputAfterShiftSwitch=0
ShowDebugLog=0
AccelerationSharpness=3
TurboMode=0
XInputSupport=2
[DeviceConfig]
Count=1
[DeviceConfig-1]
GUID=XInput-0
Name=XInput Device #1
PreferredNumber=-1
AnalogDeadZone=1000
AxisMapping=0:1:2:3:4:5:6:7

30
JoyToKey_en/JoyToKey.log Normal file
View file

@ -0,0 +1,30 @@
2016/05/07 21:08:33.694 Info Starting JoyToKey Ver5.8.2
2016/05/07 21:08:33.694 Info ExeFile=C:\Users\John\Games\JoyToKey_en\JoyToKey_en\JoyToKey.exe
2016/05/07 21:08:33.694 Info ConfigDir=C:\Users\John\Games\JoyToKey_en\JoyToKey_en\
2016/05/07 21:08:33.694 Info IniFile=C:\Users\John\Games\JoyToKey_en\JoyToKey_en\JoyToKey.ini
2016/05/07 21:08:33.694 Info Windows Version = 6.2
2016/05/07 21:08:33.696 Info Loaded VistaAPI.dll (Utils\Utils.cpp#217)
2016/05/07 21:08:33.704 Info LicenseKey "" is not valid
2016/05/07 21:08:33.828 Info Loading XInput1_3.dll (Joystick.cpp#126)
2016/05/07 21:08:33.830 Info Initialized XInput (Joystick.cpp#144)
2016/05/07 21:08:33.849 Info 0 joysticks are detected (Joystick.cpp#166)
2016/05/07 21:08:33.850 Info ConfigDir=C:\Users\John\Games\JoyToKey_en\JoyToKey_en\*.cfg (ConfigFileManager.cpp#43)
2016/05/07 21:08:33.857 Info Failed to find AppLink.dat (AppLink\AppLinkManager.cpp#32)
2016/05/07 21:08:33.914 Info TimerInit: Initializing timer with x1 speed mode (interval = 16 msec)
2016/05/07 21:09:24.074 Info Detected a XI joystick: XInput-0
2016/05/07 21:09:24.074 Info Preferred index = -1
2016/05/07 21:09:24.075 Info DetectJoysticks: Detected 1 XI joystick(s)
2016/05/07 21:09:25.317 Info Detected a DI joystick: {0CD86D70-104F-11E6-8001-444553540000}, Controller (Gamepad F310), Controller (Gamepad F310)
2016/05/07 21:09:25.317 Info It is an XInput device, so skipping...
2016/05/07 21:09:25.317 Info Joystick #1: XInput Device #1
2016/05/07 21:12:14.299 Error Access is denied.
(Utils\Utils.cpp#464)
2016/05/07 21:19:18.218 Error Access is denied.
(Utils\Utils.cpp#464)
2016/05/07 21:27:26.138 Error Access is denied.
(Utils\Utils.cpp#464)
2016/05/07 21:27:42.986 Error Access is denied.
(Utils\Utils.cpp#464)
2016/05/07 21:37:03.439 Error Access is denied.
(Utils\Utils.cpp#464)
2016/05/07 22:25:21.399 Info Application terminated (Utils\LogFile.cpp#20)

162
JoyToKey_en/Readme.txt Normal file
View file

@ -0,0 +1,162 @@
======================================================================
JoyToKey Version 5.8.2
Copyright(C) 1999-2015, JTK
======================================================================
1. OVERVIEW
-----------
This software enables you to control various windows applications (e.g.
a web browser, games on the web, Photoshop shortcuts, Microsoft office,
and even Windows itself) by using your favorite joystick. Whenever you
press joystick buttons and sticks, JoyToKey will convert the input into
keyboard strokes and mouse movements so that the target application works
as you pre-configured!
NOTE: On Windows Vista, 7, 8 or 10, you may not be able to control some
applications due to enhanced security control. If you encounter such
problems, try to launch JoyToKey.exe by opening right-click popup menu
and selecting "Run As Administrator".
2. KEY FEATURES
---------------
* Create multiple configuration files
You can create multiple configuration files and switch them at any time.
For example, create one config for a game, and create another one for
web browsing. JoyToKey also supports the automatic switching of an
active configuration file when the target application changes.
* Assign multiple keys for each button
For example, you can assign a combination of Alt+F4 for one joystick
button.
* Mouse emulation
You can also emulate mouse cursor movements, clicks and wheel rotation.
* Automatic repeat of button input or toggle input
* Virtual joystick setting
Even if you have only one joystick, you can configure button mapping for
multiple virtual joysticks (e.g. one joystick for default key mapping,
another virtual joystick for registering function keys or shortcuts, and
yet another virtual joystick for mouse control).
You can switch to those virtual joystick mappings temporarily by pressing
special buttons.
3. HOW TO INSTALL
-----------------
Simply unzip the archive file into some folder.
To uninstall this software, you only need to remove that folder.
(This software doesn't use a registry)
Please make sure that the installed folder is not write
protected as it needs to save configuration files in the same folder.
System requirement:
* OS: Windows 10, 8.1, 8, 7, Vista, XP
* DirectX 7.0 or above
4. USAGE
--------
* Press "Create" button and create a new configuration file
* In the right panel, choose a button from the list and double click
(or press enter key) to open a button assignment window.
* For example, if you want to control Internet Explorer with joysticks,
you could configure as follows:
"Back" : Alt + Left
"Close Window" : Alt + F + C
"Move To Menu" : Alt + F
And you may also want to add mouse cursor movement, wheel etc.
* If you are a new user and you have some trouble configuring JoyToKey,
please follow the instructions below.
i) I recommend you to try to use it with a simple application like
"Notepad.exe".
ii) Please configure a few joystick buttons mapping to "a", "b" keys.
And then open a Notepad and press those joystick buttons.
Character "a" and "b" should be entered in the Notepad.
(Be sure to keep the JoyToKey program running, iconized in the task
tray at the bottom of the desktop.)
iii) If it doesn't work, go to menu "Configuration -> Calibrate joystick
property" (or go to "control panel" from Windows Start menu), and
check game controller properties. Please make sure your joystick
is recognized and sticks and buttons are calibrated properly.
5. TIPS
-------
* SHIFT key function (switch to other joystick mapping temporarily)
At first, this feature (aka virtual joystick) may sound difficult to
understand, but it is very useful as it enables you to configure many
key mapping, more than the number of buttons you actually have!
For example, you may have only one joystick with only 6 buttons.
Then, you can only assign 6 different key mapping by default. However,
by assigning one button to switch to a virtual joystick-2, you can assign
5+5=10 different key mappings (Note: 1 button is used to switch between
two mappings). You could further assign another button to switch to a
virtual joystick-3, which will result in total 5+4+4=13 different key
mappings.
Normally, you define the most frequently used key mappings for a physical
joystick-1. Then, you could define less used key mappings for virtual
joystick-2, 3, 4, ...
* Configuration file (*.cfg) is simply a text file. So, If you want to
rename the configuration, copy the configuration, backup the files etc.,
terminate JoyToKey and simply rename or copy the file (*.cfg) in Explorer.
6. ABOUT JOYTOKEY
-----------------
Firstly, thank you very much for downloading and using JoyToKey.
JoyToKey is a shareware, but you can freely try it until you like it without
much limitation in functionality. After trial, if you find it useful, you
can purchase a license key from the website.
http://joytokey.net/en/purchase
(or simply go to JoyToKey menu "Help" -> "Purchase License Key")
The price is $7.00, and it can be paid through share*it! or PayPal.
You can install and use JoyToKey on multiple PCs for your personal use.
Your contribution is greatly appreciated and will be used to continue the
development of JoyToKey.
DISCLAIMER:
This product comes with no warranty. Use it at your own risk. The author
takes no responsibilities of any sort related to the use of this product.
JoyToKey is by no means perfect and may not work for certain type of
applications.
If you have some comments, suggestions or bug reports, please feel free
to send an email to the author. Due to the number of emails, you may not
receive a response, but I will try my best to read all the messages and
reflect them in the future release.
Thanks again for using JoyToKey, and I hope it'll help you to improve
your PC life.
Best Regards,
JTK
Homepage: http://joytokey.net/
E-Mail: JoyToKey@jtksoft.net

BIN
JoyToKey_en/VistaAPI.dll Normal file

Binary file not shown.