Skip to content

Commit

Permalink
Release of JSM 3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Electronicks committed Mar 27, 2021
1 parent b5018a8 commit f557954
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 10 deletions.
19 changes: 15 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,34 @@ 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.

## 3.0.0
Jibb added JSL-specific features to SDL2 so that JSM could use SDL2 instead. This means support for many non-gyro controllers, including Xbox, Stadia, and almost every common generic PC controller. Also made it so that low report-rate controllers (eg Switch controllers) are sampled multiple times for smooth gyro on high refresh rate monitors.
**SDL2 is now the official version of JSM going forward.** JSM will also be released with JSL for the time being in case there are features there unavailable in SDL2 yet.
Nicolas added ViGEm support for virtual xbox and DS4 for buttons, triggers and sticks as well as rumble forwarding.
Added colored console lines
Added DS4 rumble commands and light bar setting
Added rumble commands and DS4 light bar setting and TOUCH binding
Added DS4 dual stage mode for toupad touch and click.
Added hair trigger soft press as a negative threshold and trigger modes SCROLL_WHEEL and NO_SKIP_EXCLUSIVE
Added ability to hide JSM from the taskbar when minimized, with a checkbox in the tray icon
Added help strings for button mapping
Added argument to RECONNECT_CONTROLLERS [MERGE|SPLIT] used to determine joycon behaviour
Added handler to modeshift a gyro button to NONE\ as no button since NONE is used to remove the modeshift.
Handle drag n drop files into the console better
Improve command error handling
Improved README separation
Improved desktop recommended config

Jibb added JSL-specific features to SDL2 so that JSM could use SDL2 instead. This means support for many non-gyro controllers, including Xbox, Stadia, and almost every common generic PC controller. Also made it so that low report-rate controllers (eg Switch controllers) are sampled multiple times for smooth gyro on high refresh rate monitors.

### Features
* New Bindings: TOUCH for the touch pad and dual stage mode for TOUCH and CAPTURE bindings
* New Mappings for ViGEm controller bindings. See README
* Added Mappings SMALL_RUMBLE, BIG_RUMBLE and Rhhhh (h being hex digits)
* Added settings STICK_DEADZONE_INNER|OUTER, TICK_TIME (aka polling period), LIGHT_BAR, SCROLL_SENS, VIRTUAL_CONTROLLER, RUMBLE ( = ON|OFF) and TOUCHPAD_DUAL_STAGE_MODE
* Added JOYCON_SIDEWAYS as a controller orientation
* Added Stick Mode SCROLL_WHEEL
* Added TriggerMode NO_SKIP_EXCLUSIVE
* Assigning a negative value to trigger threshold enables hair trigger
* New setting HIDE\_MINIMIZED will hide JSM when set to ON. OFF is default
* Support for many non-gyro controllers: Xbox, Stadia, GameCube, PS3 (without motion), and many generic PC controllers.
* Added TICK\_TIME to set how many milliseconds between reading controllers (default of 3 means about 333Hz).
* Support for many non-gyro controllers: Xbox, Stadia, GameCube, PS3 (without motion), and many generic PC controllers via SDL2

## 2.2.0
Nicolas added more keybinds. Robin fixed issues with building on Linux and improved PlayStation controller support.
Expand Down
1 change: 1 addition & 0 deletions JoyShockMapper/src/SDL2Wrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#include <atomic>
#define INCLUDE_MATH_DEFINES
#include <cmath> // M_PI
#include <algorithm>

extern JSMVariable<float> tick_time; // defined in main.cc

Expand Down
12 changes: 6 additions & 6 deletions JoyShockMapper/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1040,7 +1040,7 @@ class JoyShock
{
if (getSetting<Switch>(SettingID::RUMBLE) == Switch::ON)
{
COUT << "Rumbling at " << smallRumble << " and " << bigRumble << endl;
//COUT << "Rumbling at " << smallRumble << " and " << bigRumble << endl;
JslSetRumble(handle, smallRumble, bigRumble);
}
}
Expand All @@ -1066,11 +1066,11 @@ class JoyShock

void handleViGEmNotification(UCHAR largeMotor, UCHAR smallMotor, Indicator indicator)
{
static chrono::steady_clock::time_point last_call;
auto now = chrono::steady_clock::now();
auto diff = ((float)chrono::duration_cast<chrono::microseconds>(now - last_call).count()) / 1000000.0f;
last_call = now;
COUT_INFO << "Time since last vigem rumble is " << diff << " us" << endl;
//static chrono::steady_clock::time_point last_call;
//auto now = chrono::steady_clock::now();
//auto diff = ((float)chrono::duration_cast<chrono::microseconds>(now - last_call).count()) / 1000000.0f;
//last_call = now;
//COUT_INFO << "Time since last vigem rumble is " << diff << " us" << endl;
lock_guard guard(this->btnCommon->callback_lock);
switch (platform_controller_type)
{
Expand Down

0 comments on commit f557954

Please sign in to comment.