Skip to content

Commit

Permalink
Added CHANGELOG to keep track of what features were added when (and w…
Browse files Browse the repository at this point in the history
…ho added them!). Updated the README to reflect Bluetooth support for the DS4 and to credit those who made the gyro icon we're using. This will hopefully be the release commit, but waiting on confirmation on their preferred shown names.
  • Loading branch information
JibbSmart committed Jan 18, 2020
1 parent 08131a3 commit 7613bf0
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 6 deletions.
59 changes: 59 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@

# Change log for JoyShockMapper
Most recent updates will appear first.
This is a summary of new features and bugfixes. Read the README to learn how to use the features mentioned here.

## 1.4.0
In 1.4, Nicolas added simultaneous and chorded press mappings, as well as a tray icon and shortcuts for configs and useful commands. Jibb added Bluetooth support for the DualShock 4.

### Features
* Simultaneous press - map a pair of inputs pressed at about the same time to a unique output.
* Chorded press - change the mappings of one or more buttons while a particular other button is pressed.
* Bluetooth support for the DualShock 4.
* Whitelisting - add or remove JoyShockMapper to or from the HIDCerberus whitelist, if it's installed.
* Tray icon - when minimised, JoyShockMapper has a tray icon that can be right-clicked to quickly access configs or useful commands.

## 1.3.0
In 1.3, Nicolas added AutoLoad and dual stage triggers, while Jibb fixed a couple of bugs.

### Features
* AutoLoad - automatically load the appropriate config when an application comes into focus.
* Dual Stage Triggers - map soft presses and full presses of the DualShock 4's triggers to different outputs.

### Bugfixes
* Fixed SL and SR not working properly on Joy-Cons.
* Fixed hold NONE mappings not working.

## 1.2.0
In 1.2, Jibb added features to help with single Joy-Con control, as well as more keyboard mappings and better comment support.

### Features
* Gyro axes can be mapped to different mouse axes using MOUSE\_X\_FROM\_GYRO\_AXIS and MOUSE\_Y\_FROM\_GYRO\_AXIS.
* PAGEUP, PAGEDOWN, HOME, END, INSERT, and DELETE keyboard mappings were added.
* /# comments can be added at the end of a line, instead of requiring their own line.

## 1.1.0
In 1.1, Jibb added more ways to enable or disable the gyro, changed the default behaviour of calibration, and fixed a couple of bugs.

### Features
* GYRO\_OFF and GYRO\_ON can be set to LEFT\_STICK or RIGHT\_STICK so that the gyro can be enabled or disabled depending on whether a given stick is being used.
* Continuous calibration is now disabled when a device is first connected, since sometimes devices don't need to be calibrated on startup.

### Bugfixes
* Fixed d-pad up being the gyro off button when none was set.
* Fixed a crash when a bad command was entered.

## 1.0.2
1.0.2 is a bugfix update.

### Bugfixes
* Fixed a bug where arrow keys couldn't be mapped properly.

## 1.0.1
1.0.1 is a bugfix update.

### Bugfixes
* Statically lilnked runtime so that users don't have to have any particular MSVC runtimes installed.

## 1.0
JoyShockMapper 1.0 was the first public release of JoyShockMapper. Its features are too many to list in the changelog, but explore the README to see what it offers!
4 changes: 2 additions & 2 deletions JoyShockMapper/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1813,8 +1813,8 @@ bool processDeadZones(float& x, float& y) {

void handleButtonChange(int index, bool pressed, const char* name, JoyShock* jc) {
// for tap duration, we need to know if the key in question is a gyro-related mapping or not
WORD keyToRelease = jc->keyToRelease[index];
float magicTapDuration = (keyToRelease >= GYRO_INV_X && keyToRelease <= GYRO_ON_BIND) ? MAGIC_GYRO_TAP_DURATION : MAGIC_TAP_DURATION;
WORD mapping = mappings[index];
float magicTapDuration = (mapping >= GYRO_INV_X && mapping <= GYRO_ON_BIND) ? MAGIC_GYRO_TAP_DURATION : MAGIC_TAP_DURATION;
switch (jc->btnState[index])
{
case BtnState::NoPress:
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ The latest version of JoyShockMapper can always be found [here](https://github.c
Included is a folder called GyroConfigs. This includes templates for creating new configurations for 2D and 3D games, and configuration files that include the settings used for simple [Real World Calibration](#4-real-world-calibration).

## Quick Start
1. Connect your DualShock 4 by USB, or your JoyCons or Pro Controller by Bluetooth.
1. Connect your DualShock 4 by USB or Bluetooth, or your JoyCons or Pro Controller by Bluetooth.

2. Run the JoyShockMapper executable, and you should see a console window welcoming you to JoyShockMapper.
* If you want to connect your controller after starting JoyShockMapper, you can use the command RECONNECT\_CONTROLLERS to connect these controllers.
Expand Down Expand Up @@ -475,13 +475,13 @@ There are a few other useful commands that don't fall under the above categories
New mouse and keyboard events are only sent when JoyShockMapper gets a new message from the controller. This means if your game's and display's refresh rates are higher than the controller's poll rate, sometimes the game and display will update without moving the mouse, even if you'd normally expect the mouse to move. The DualShock 4 sends 250 messages a second, which is plenty for even extremely high refresh rate displays. But JoyCons and Pro Controllers send 66.67 messages a second, which means you might encounter stuttering movements when playing (and displaying) above 66.67 frames per second. A future version of JoyShockMapper may work around this problem by repeating messages up to a desired refresh rate.

### Bluetooth connectivity
JoyShockLibrary doesn't yet support connecting the DualShock 4 by Bluetooth. When it does, so will JoyShockMapper.

JoyCons and Pro Controllers can only be connected by Bluetooth. Even when connected by USB, they (by Nintendo's design) still only communicate by Bluetooth. Some Bluetooth adapters can't keep up with these devices, resulting in **laggy input**. This is especially common when more than one device is connected (such as when using a pair of JoyCons). There is nothing JoyShockMapper or JoyShockLibrary can do about this.
JoyCons and Pro Controllers can only be connected by Bluetooth. Even when connected by USB, they currently still only communicate by Bluetooth. Some Bluetooth adapters can't keep up with these devices, resulting in **laggy input**. This is especially common when more than one device is connected (such as when using a pair of JoyCons). There is nothing JoyShockMapper or JoyShockLibrary can do about this.

## Credits
I'm Julian "Jibb" Smart, and I made JoyShockMapper. As of version 1.3, JoyShockMapper has benefited from substantial community contributions. Huge thanks to the following contributors:
* Nicolas
* CriticalComposer
* AL2009man

JoyShockMapper relies a lot on [JoyShockLibrary](https://github.com/jibbsmart/JoyShockLibrary), which it uses to read controller inputs. Check out that project to see who else made JoyShockLibrary possible.

Expand Down

0 comments on commit 7613bf0

Please sign in to comment.