Specify signedness behavior of char in the API. Fixes backwards scrolling on Rasbian where char is unsigned by default

This commit is contained in:
Cameron Gutman 2015-06-25 20:10:15 -07:00
parent a5f59d206e
commit 3a9e37832a
3 changed files with 13 additions and 13 deletions

View File

@ -42,8 +42,8 @@ typedef struct _NV_CONTROLLER_PACKET {
int headerA;
short headerB;
short buttonFlags;
char leftTrigger;
char rightTrigger;
unsigned char leftTrigger;
unsigned char rightTrigger;
short leftStickX;
short leftStickY;
short rightStickX;
@ -67,8 +67,8 @@ typedef struct _NV_MULTI_CONTROLLER_PACKET {
short midA;
short midB;
short buttonFlags;
char leftTrigger;
char rightTrigger;
unsigned char leftTrigger;
unsigned char rightTrigger;
short leftStickX;
short leftStickY;
short rightStickX;
@ -89,4 +89,4 @@ typedef struct _NV_SCROLL_PACKET {
short zero3;
} NV_SCROLL_PACKET, *PNV_SCROLL_PACKET;
#pragma pack(pop)
#pragma pack(pop)

View File

@ -387,7 +387,7 @@ int LiSendKeyboardEvent(short keyCode, char keyAction, char modifiers) {
return err;
}
static int sendControllerEventInternal(short controllerNumber, short buttonFlags, char leftTrigger, char rightTrigger,
static int sendControllerEventInternal(short controllerNumber, short buttonFlags, unsigned char leftTrigger, unsigned char rightTrigger,
short leftStickX, short leftStickY, short rightStickX, short rightStickY)
{
PPACKET_HOLDER holder;
@ -448,7 +448,7 @@ static int sendControllerEventInternal(short controllerNumber, short buttonFlags
}
/* Send a controller event to the streaming machine */
int LiSendControllerEvent(short buttonFlags, char leftTrigger, char rightTrigger,
int LiSendControllerEvent(short buttonFlags, unsigned char leftTrigger, unsigned char rightTrigger,
short leftStickX, short leftStickY, short rightStickX, short rightStickY)
{
return sendControllerEventInternal(0, buttonFlags, leftTrigger, rightTrigger,
@ -456,7 +456,7 @@ int LiSendControllerEvent(short buttonFlags, char leftTrigger, char rightTrigger
}
/* Send a controller event to the streaming machine */
int LiSendMultiControllerEvent(short controllerNumber, short buttonFlags, char leftTrigger, char rightTrigger,
int LiSendMultiControllerEvent(short controllerNumber, short buttonFlags, unsigned char leftTrigger, unsigned char rightTrigger,
short leftStickX, short leftStickY, short rightStickX, short rightStickY)
{
return sendControllerEventInternal(controllerNumber, buttonFlags, leftTrigger, rightTrigger,
@ -464,7 +464,7 @@ int LiSendMultiControllerEvent(short controllerNumber, short buttonFlags, char l
}
/* Send a scroll event to the streaming machine */
int LiSendScrollEvent(char scrollClicks) {
int LiSendScrollEvent(signed char scrollClicks) {
PPACKET_HOLDER holder;
int err;
@ -492,4 +492,4 @@ int LiSendScrollEvent(char scrollClicks) {
}
return err;
}
}

View File

@ -206,18 +206,18 @@ int LiSendKeyboardEvent(short keyCode, char keyAction, char modifiers);
// This function queues a controller event to be sent to the remote server. It will
// be seen by the computer as the first controller.
int LiSendControllerEvent(short buttonFlags, char leftTrigger, char rightTrigger,
int LiSendControllerEvent(short buttonFlags, unsigned char leftTrigger, unsigned char rightTrigger,
short leftStickX, short leftStickY, short rightStickX, short rightStickY);
// This function queues a controller event to be sent to the remote server. The controllerNumber
// parameter is a zero-based index of which controller this event corresponds to. The largest legal
// controller number is 3 (for a total of 4 controllers, the Xinput maximum). On generation 3 servers (GFE 2.1.x),
// these will be sent as controller 0 regardless of the controllerNumber parameter.
int LiSendMultiControllerEvent(short controllerNumber, short buttonFlags, char leftTrigger, char rightTrigger,
int LiSendMultiControllerEvent(short controllerNumber, short buttonFlags, unsigned char leftTrigger, unsigned char rightTrigger,
short leftStickX, short leftStickY, short rightStickX, short rightStickY);
// This function queues a vertical scroll event to the remote server.
int LiSendScrollEvent(char scrollClicks);
int LiSendScrollEvent(signed char scrollClicks);
#ifdef __cplusplus
}