mirror of
https://github.com/Ed94/HandmadeHero.git
synced 2025-06-16 11:41:47 -07:00
Day 19 complete
This commit is contained in:
@ -224,9 +224,9 @@ bool handle_input(JoyShock *jc, uint8_t *packet, int len, bool &hasIMU) {
|
||||
if ((hat > 4) & (hat < 8)) jc->simple_state.buttons |= JSMASK_LEFT; // left = SW | W | NW
|
||||
|
||||
jc->simple_state.buttons |= ((int) (packet[indexOffset + 7] >> 4) << JSOFFSET_W) & JSMASK_W;
|
||||
jc->simple_state.buttons |= ((int) (packet[indexOffset + 7] >> 7) << JSOFFSET_N) & JSMASK_N;
|
||||
jc->simple_state.buttons |= ((int) (packet[indexOffset + 7] >> 5) << JSOFFSET_S) & JSMASK_S;
|
||||
jc->simple_state.buttons |= ((int) (packet[indexOffset + 7] >> 6) << JSOFFSET_E) & JSMASK_E;
|
||||
jc->simple_state.buttons |= ((int) (packet[indexOffset + 7] >> 7) << JSOFFSET_N) & JSMASK_N;
|
||||
jc->simple_state.buttons |= ((int) (packet[indexOffset + 8] >> 6) << JSOFFSET_LCLICK) & JSMASK_LCLICK;
|
||||
jc->simple_state.buttons |= ((int) (packet[indexOffset + 8] >> 7) << JSOFFSET_RCLICK) & JSMASK_RCLICK;
|
||||
jc->simple_state.buttons |= ((int) (packet[indexOffset + 8] >> 5) << JSOFFSET_OPTIONS) & JSMASK_OPTIONS;
|
||||
@ -235,9 +235,12 @@ bool handle_input(JoyShock *jc, uint8_t *packet, int len, bool &hasIMU) {
|
||||
jc->simple_state.buttons |= ((int) (packet[indexOffset + 8]) << JSOFFSET_L) & JSMASK_L;
|
||||
jc->simple_state.buttons |= ((int) (packet[indexOffset + 9]) << JSOFFSET_PS) & JSMASK_PS;
|
||||
// The DS5 has a mute button that is normally ignored on PC. We can use this.
|
||||
jc->simple_state.buttons |= ((int) (packet[indexOffset + 9] >> 1) << JSOFFSET_TOUCHPAD_CLICK) & JSMASK_TOUCHPAD_CLICK;
|
||||
jc->simple_state.buttons |= ((int) (packet[indexOffset + 9] >> 2) << JSOFFSET_MIC) & JSMASK_MIC;
|
||||
jc->simple_state.buttons |=
|
||||
((int) (packet[indexOffset + 9] >> 1) << JSOFFSET_TOUCHPAD_CLICK) & JSMASK_TOUCHPAD_CLICK;
|
||||
jc->simple_state.buttons |= ((int)(packet[indexOffset + 9] >> 4) << JSOFFSET_FNL) & JSMASK_FNL;
|
||||
jc->simple_state.buttons |= ((int)(packet[indexOffset + 9] >> 5) << JSOFFSET_FNR) & JSMASK_FNR;
|
||||
jc->simple_state.buttons |= ((int)(packet[indexOffset + 9] >> 6) << JSOFFSET_SL) & JSMASK_SL;
|
||||
jc->simple_state.buttons |= ((int) (packet[indexOffset + 9] >> 7) << JSOFFSET_SR) & JSMASK_SR;
|
||||
//jc->btns.zr = (packet[indexOffset+6] >> 3) & 1;
|
||||
//jc->btns.zl = (packet[indexOffset+6] >> 2) & 1;
|
||||
jc->simple_state.rTrigger = packet[indexOffset + 5] / 255.0f;
|
||||
|
@ -17,31 +17,33 @@
|
||||
#define JS_SPLIT_TYPE_RIGHT 2
|
||||
#define JS_SPLIT_TYPE_FULL 3
|
||||
|
||||
#define JSMASK_UP 0x00001
|
||||
#define JSMASK_DOWN 0x00002
|
||||
#define JSMASK_LEFT 0x00004
|
||||
#define JSMASK_RIGHT 0x00008
|
||||
#define JSMASK_PLUS 0x00010
|
||||
#define JSMASK_OPTIONS 0x00010
|
||||
#define JSMASK_MINUS 0x00020
|
||||
#define JSMASK_SHARE 0x00020
|
||||
#define JSMASK_LCLICK 0x00040
|
||||
#define JSMASK_RCLICK 0x00080
|
||||
#define JSMASK_L 0x00100
|
||||
#define JSMASK_R 0x00200
|
||||
#define JSMASK_ZL 0x00400
|
||||
#define JSMASK_ZR 0x00800
|
||||
#define JSMASK_S 0x01000
|
||||
#define JSMASK_E 0x02000
|
||||
#define JSMASK_W 0x04000
|
||||
#define JSMASK_N 0x08000
|
||||
#define JSMASK_HOME 0x10000
|
||||
#define JSMASK_PS 0x10000
|
||||
#define JSMASK_CAPTURE 0x20000
|
||||
#define JSMASK_TOUCHPAD_CLICK 0x20000
|
||||
#define JSMASK_MIC 0x40000
|
||||
#define JSMASK_SL 0x40000
|
||||
#define JSMASK_SR 0x80000
|
||||
#define JSMASK_UP 0x000001
|
||||
#define JSMASK_DOWN 0x000002
|
||||
#define JSMASK_LEFT 0x000004
|
||||
#define JSMASK_RIGHT 0x000008
|
||||
#define JSMASK_PLUS 0x000010
|
||||
#define JSMASK_OPTIONS 0x000010
|
||||
#define JSMASK_MINUS 0x000020
|
||||
#define JSMASK_SHARE 0x000020
|
||||
#define JSMASK_LCLICK 0x000040
|
||||
#define JSMASK_RCLICK 0x000080
|
||||
#define JSMASK_L 0x000100
|
||||
#define JSMASK_R 0x000200
|
||||
#define JSMASK_ZL 0x000400
|
||||
#define JSMASK_ZR 0x000800
|
||||
#define JSMASK_S 0x001000
|
||||
#define JSMASK_E 0x002000
|
||||
#define JSMASK_W 0x004000
|
||||
#define JSMASK_N 0x008000
|
||||
#define JSMASK_HOME 0x010000
|
||||
#define JSMASK_PS 0x010000
|
||||
#define JSMASK_CAPTURE 0x020000
|
||||
#define JSMASK_TOUCHPAD_CLICK 0x020000
|
||||
#define JSMASK_MIC 0x040000
|
||||
#define JSMASK_SL 0x080000
|
||||
#define JSMASK_SR 0x100000
|
||||
#define JSMASK_FNL 0x200000
|
||||
#define JSMASK_FNR 0x400000
|
||||
|
||||
#define JSOFFSET_UP 0
|
||||
#define JSOFFSET_DOWN 1
|
||||
@ -66,8 +68,10 @@
|
||||
#define JSOFFSET_CAPTURE 17
|
||||
#define JSOFFSET_TOUCHPAD_CLICK 17
|
||||
#define JSOFFSET_MIC 18
|
||||
#define JSOFFSET_SL 18
|
||||
#define JSOFFSET_SR 19
|
||||
#define JSOFFSET_SL 19
|
||||
#define JSOFFSET_SR 20
|
||||
#define JSOFFSET_FNL 21
|
||||
#define JSOFFSET_FNR 22
|
||||
|
||||
// PS5 Player maps for the DS Player Lightbar
|
||||
#define DS5_PLAYER_1 4
|
||||
|
Reference in New Issue
Block a user