Releases: luttje/Key2Joy
⌨ Command-line interface & more
This version introduces a new way to interact with Key2Joy using the command-line. Thanks for the idea @Renato-Rodrigues (#28)!
New features
- Running
Key2Joy.Cmd.exe enable
in a command-prompt will:- Start Key2Joy if it's not already running. (Note: you need to have started
Key2Joy.exe
at least once already) - Enable the last used profile
- Use
--profile default-profile
to specify which profile file to enable (you don't have to include the.k2j.json
extension)
- Start Key2Joy if it's not already running. (Note: you need to have started
- Running
Key2Joy.Cmd.exe disable
will disable the active profile - You can now bind to X Mouse Buttons: XButton1 and XButton2 (also known as Mouse Button 4 and 5) - Thanks @syctis #32
Changes
- Mapping presets are now called profiles (those names were used interchangeably).
- Profiles are now stored in the
Documents/Key2Joy/Profiles
folder. The old folder (Documents/Key2Joy/Presets
) will be renamed automatically.
Bugs
- Fixed missing app icon #31
- Fixed timeouts and intervals running after disabling mappings
Full Changelog: 0.5.3...0.6.0
Getting started
- Extract all files from the accompanying zip (
Key2Joy-0.6.0.zip
) to a single location on your computer. - Start
Key2Joy.exe
(alpha) ⌨ Command-line interface
❗ This is a pre-release that I haven't tested very well (PR #29). Please let me know if I broke something. ❗
This version introduces a new way to interact with Key2Joy using the command-line. Thanks for the idea @Renato-Rodrigues (#28)!
New features
- Running
Key2Joy.Cmd.exe enable
in a command-prompt will:- Start Key2Joy if it's not already running. (Note: you need to have started
Key2Joy.Gui.exe
at least once already) - Enable the last used profile
- Use
--profile default-profile
to specify which profile file to enable (you don't have to include the.k2j.json
extension)
- Start Key2Joy if it's not already running. (Note: you need to have started
- Running
Key2Joy.Cmd.exe disable
will disable the active profile
Changes
Key2Joy.exe
has been renamed toKey2Joy.Gui.exe
- Mapping presets are now called profiles (those names were used interchangeably).
- Profiles are now stored in the
Documents/Key2Joy/Profiles
folder. The old folder (Documents/Key2Joy/Presets
) will be renamed automatically.
Full Changelog: 0.5.3...0.6.0-alpha1
Installation:
- Extract all files from the accompanying zip (
Key2Joy-0.6.0-alpha1.zip
) to a single location on your computer. - Double-click the
Key2Joy.Gui.exe
to start the app - Configure mappings: set a trigger to start an action.
- Tick the Enable-checkbox to start simulating
- Optionally run
Key2Joy.Cmd.exe enable
orKey2Joy.Cmd.exe disable
to control the app without the GUI.
(In the default profile there is a mapping that lets you stops simulating with the Escape-key. Don't forget to include such a mapping for your custom profiles.)
📸 Screen capture through scripting + bugfix
- New Features:
- Scripting features:
- Graphics.CaptureScreen(savePath, x, y, w, h) takes a screenshots of a region (or the whole screen) and saves it
- Graphics.AnimationFromImages(savePath, frameRate, framePaths) saves a sequence of images to a .gif (or .mp4, or any of these formats: https://ffmpeg.org/ffmpeg-formats.html#Muxers)
- Util.PathExpand(path) expands environment variables to their values (e.g:
%HOMEDRIVE%
->C:
)
- Scripting features:
- Bugfix:
- Fixed bug when no mouse trigger was present (#27)
Full Changelog: 0.5.2...0.5.3
Installation:
- Copy all files in the accompanying zip (Key2Joy-0.5.3.zip) to a location on your computer.
- Double-click the Key2Joy.exe to start the app
- Configure mappings: set a trigger to start an action.
- Tick the Enable-checkbox to start simulating
(By default there is a mapping that lets you stops simulating with the key Escape)
🤖 New script features + bugfixes
- New Features:
- You can now simulate multiple (up to 4) gamepads at once
- Scripting features:
- In the config you can set if default behavior should be overridden for triggers (e.g: when you press 'A' and that is mapped to a trigger, do not type "A")
- Bugfixes:
Full Changelog: 0.5.1...0.5.2
Installation:
- Copy all files in the accompanying zip (Key2Joy-0.5.2.zip) to a location on your computer.
- Double-click the Key2Joy.exe to start the app
- Configure mappings: set a trigger to start an action.
- Tick the Enable-checkbox to start simulating
(By default there is a mapping that lets you stops simulating with the key Escape)
UI to setup multiple triggers for an action
Full Changelog: 0.5.0...0.5.1
Installation:
- Copy all files in the accompanying zip (Key2Joy-0.5.1.zip) to a location on your computer.
- Double-click the Key2Joy.exe to start the app
- Configure mappings: set a trigger to start an action.
- Tick the Enable-checkbox to start simulating
(By default there is a mapping that lets you stops simulating with the key Escape)
🐛 More stable scripts + a bunch of bug fixes
- Features
- Scripts loaded from files now cache for the duration of the session
- Actions now share the same scripting environment (#19). This means you can share Lua variables between all Lua scripts, or JS variables between all JS scripts.
- Bugfixes
Full Changelog: 0.4.3...0.5.0
Installation:
- Copy all files in the accompanying zip (Key2Joy-0.5.0.zip) to a location on your computer.
- Double-click the Key2Joy.exe to start the app
- Configure mappings: set a trigger to start an action.
- Tick the Enable-checkbox to start simulating
(By default there is a mapping that lets you stops simulating with the key Escape)
0.4.3
- Fixed a System.AccessViolationException that occurred when running a Lua script containing a SetTimeout or SetInterval rapidly (e.g: holding the trigger)
- New script functions
- Added GamePad.SimulateMove to move the left or right joystick (closes #18 )
- Added GamePad.Reset to reset the joystick back to it's natural position
- Added Mouse.Simulate to press mouse buttons (closes #13)
- Added Mouse.SimulateMove to move the cursor (closes #13)
Full Changelog: 0.4.2...0.4.3
Installation:
- Copy all files in the accompanying zip (Key2Joy-0.4.3.zip) to a location on your computer.
- Double-click the Key2Joy.exe to start the app
- Configure mappings: set a trigger to start an action.
- Tick the Enable-checkbox to start simulating
(By default there is a mapping that lets you stops simulating with the key Escape)
0.4.2
- Added Keyboard.GetKeyDown that helps you check if more than one key are down using Lua/Javascript Scripting.
- Several bug fixes:
- Fixed Direct input setting resetting for scripts on restart
- You can now bind multiple actions to the same trigger
- Removed the slow script output viewer, in favor of directing users to the log file or event viewer
- Script prints and logs are now also written to the Windows Event Viewer
- Removed
PressState.PressAndRelease
since it caused too much headache for me. Instead you should manually press and release using SetTimeout. (View example in GamePad.Simulate docs.)
Full Changelog: 0.4.1...0.4.2
Installation:
- Copy all files in the accompanying zip (Key2Joy-0.4.2.zip) to a location on your computer.
- Double-click the Key2Joy.exe to start the app
- Configure mappings: set a trigger to start an action.
- Tick the Enable-checkbox to start simulating
(By default there is a mapping that lets you stops simulating with the key Escape)
Bugfixes, especially for Javascript
- Updated Jint, which fixes SetDelayedFunctions for Javascript.
More modern Javascript support is now available ECMAScript 2015 through ECMAScript 2022 - Updated documentation to contain enumerations
- Renamed KeyToJoy to Key2Joy everywhere.
I'm considering changing the name to something entirely different, since the app can do a lot more now. Suggestions are welcome!
Full Changelog: 0.4.0...0.4.1
Installation:
- Copy all files in the accompanying zip (Key2Joy-0.4.1.zip) to a location on your computer.
- Double-click the Key2Joy.exe to start the app
- Configure mappings: set a trigger to start an action.
- Tick the Enable-checkbox to start simulating
(By default there is a mapping that lets you stops simulating with the key Escape)
Many new features, like scripting (Lua & JS) 📃
Most functions appear to work. Nevertheless there are some bugs that I will try to work out in the coming months. Feel free to create new issues for any bugs you find.
New features:
- Sequence Action: Easily set a series of actions to happen on a trigger
- Scripting actions: Lua Scripting and Javascript Scripting (read more about it here)
- More new actions:
- Simulate Keyboard and GamePad keys (from A-Z and Alt - LaunchMail)
- SetTimeout-function for Lua and Javascript, works like setTimeout in Javascript.
- SetDelayedFunctions-function for Lua (broken in Javascript), allows you to execute many functions with a delay in between
- And more
Installation:
- Copy all files in the accompanying zip (KeyToJoy-v0.4.0.zip) to a location on your computer.
- Double-click the KeyToJoy.exe to start the app
- Configure mappings: set a trigger to start an action.
- Tick the checkbox to start simulating (by default there is a mapping that lets you stops simulating with the key Escape)