diff --git a/JoyToKey_en/Changes.txt b/JoyToKey_en/Changes.txt new file mode 100644 index 0000000..d952f3b --- /dev/null +++ b/JoyToKey_en/Changes.txt @@ -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. diff --git a/JoyToKey_en/Ironsphere.cfg b/JoyToKey_en/Ironsphere.cfg new file mode 100644 index 0000000..4674a93 --- /dev/null +++ b/JoyToKey_en/Ironsphere.cfg @@ -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 + diff --git a/JoyToKey_en/JoyToKey.exe b/JoyToKey_en/JoyToKey.exe new file mode 100644 index 0000000..907145d Binary files /dev/null and b/JoyToKey_en/JoyToKey.exe differ diff --git a/JoyToKey_en/JoyToKey.ini b/JoyToKey_en/JoyToKey.ini new file mode 100644 index 0000000..f0bc8c6 --- /dev/null +++ b/JoyToKey_en/JoyToKey.ini @@ -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 + diff --git a/JoyToKey_en/JoyToKey.log b/JoyToKey_en/JoyToKey.log new file mode 100644 index 0000000..133502f --- /dev/null +++ b/JoyToKey_en/JoyToKey.log @@ -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) diff --git a/JoyToKey_en/Readme.txt b/JoyToKey_en/Readme.txt new file mode 100644 index 0000000..101e0a3 --- /dev/null +++ b/JoyToKey_en/Readme.txt @@ -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 + diff --git a/JoyToKey_en/VistaAPI.dll b/JoyToKey_en/VistaAPI.dll new file mode 100644 index 0000000..da5adfa Binary files /dev/null and b/JoyToKey_en/VistaAPI.dll differ