Run code through the advanced tool 'sed' to remove trailing whitespace.

This commit is contained in:
comex
2013-10-29 01:23:17 -04:00
parent 965b32be9c
commit c579637eaf
568 changed files with 8650 additions and 8654 deletions

View File

@ -42,7 +42,7 @@ enum
SETTING_SQUARE,
};
const char * const named_directions[] =
const char * const named_directions[] =
{
"Up",
"Down",
@ -109,7 +109,7 @@ public:
ControlGroup(const char* const _name, const unsigned int _type = GROUP_TYPE_OTHER) : name(_name), type(_type) {}
virtual ~ControlGroup();
virtual void LoadConfig(IniFile::Section *sec, const std::string& defdev = "", const std::string& base = "" );
virtual void SaveConfig(IniFile::Section *sec, const std::string& defdev = "", const std::string& base = "" );
@ -325,7 +325,7 @@ public:
{
// this section might be all wrong, but its working good enough, I think
ControlState ang = atan2(yy, xx);
ControlState ang = atan2(yy, xx);
ControlState ang_sin = sin(ang);
ControlState ang_cos = cos(ang);
@ -352,7 +352,7 @@ public:
// this is kinda silly here
// gui being open will make this happen 2x as fast, o well
// silly
if (step)
{
@ -391,7 +391,7 @@ public:
m_z = std::max(m_z - 0.1f, zz);
*z = m_z;
// hide
if (controls[6]->control_ref->State() > 0.5f)
{

View File

@ -249,7 +249,7 @@ Device::Control* ControllerInterface::InputReference::Detect(const unsigned int
if (device->Inputs().size() == 0)
return NULL;
// get starting state of all inputs,
// get starting state of all inputs,
// so we can ignore those that were activated at time of Detect start
std::vector<Device::Input*>::const_iterator
i = device->Inputs().begin(),
@ -308,7 +308,7 @@ Device::Control* ControllerInterface::OutputReference::Detect(const unsigned int
device->UpdateOutput();
Common::SleepCurrentThread(10);
}
State(0);
device->UpdateOutput();
}

View File

@ -109,7 +109,7 @@ public:
};
ControllerInterface() : m_is_init(false), m_hwnd(NULL) {}
void SetHwnd(void* const hwnd);
void Initialize();
void Shutdown();

View File

@ -76,17 +76,17 @@ void GetXInputGUIDS( std::vector<DWORD>& guids )
bstrNamespace = SysAllocString( L"\\\\.\\root\\cimv2" );if( bstrNamespace == NULL ) goto LCleanup;
bstrClassName = SysAllocString( L"Win32_PNPEntity" ); if( bstrClassName == NULL ) goto LCleanup;
bstrDeviceID = SysAllocString( L"DeviceID" ); if( bstrDeviceID == NULL ) goto LCleanup;
// Connect to WMI
// Connect to WMI
hr = pIWbemLocator->ConnectServer( bstrNamespace, NULL, NULL, 0L, 0L, NULL, NULL, &pIWbemServices );
if( FAILED(hr) || pIWbemServices == NULL )
goto LCleanup;
// Switch security level to IMPERSONATE.
CoSetProxyBlanket( pIWbemServices, RPC_C_AUTHN_WINNT, RPC_C_AUTHZ_NONE, NULL,
// Switch security level to IMPERSONATE.
CoSetProxyBlanket( pIWbemServices, RPC_C_AUTHN_WINNT, RPC_C_AUTHZ_NONE, NULL,
RPC_C_AUTHN_LEVEL_CALL, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE );
hr = pIWbemServices->CreateInstanceEnum( bstrClassName, 0, NULL, &pEnumDevices );
hr = pIWbemServices->CreateInstanceEnum( bstrClassName, 0, NULL, &pEnumDevices );
if( FAILED(hr) || pEnumDevices == NULL )
goto LCleanup;
@ -105,7 +105,7 @@ void GetXInputGUIDS( std::vector<DWORD>& guids )
if( SUCCEEDED( hr ) && var.vt == VT_BSTR && var.bstrVal != NULL )
{
// Check if the device ID contains "IG_". If it does, then it's an XInput device
// This information can not be found from DirectInput
// This information can not be found from DirectInput
if( wcsstr( var.bstrVal, L"IG_" ) )
{
// If it does, then get the VID/PID from var.bstrVal
@ -122,7 +122,7 @@ void GetXInputGUIDS( std::vector<DWORD>& guids )
guids.push_back( dwVidPid );
//bIsXinputDevice = true;
}
}
}
SAFE_RELEASE( pDevices[iDevice] );
}
}
@ -324,7 +324,7 @@ Joystick::Joystick( /*const LPCDIDEVICEINSTANCE lpddi, */const LPDIRECTINPUTDEVI
{
eff.cbTypeSpecificParams = sizeof(DIPERIODIC);
}
LPDIRECTINPUTEFFECT pEffect;
if (SUCCEEDED(m_device->CreateEffect(force_type_names[f].guid, &eff, &pEffect, NULL)))
{

View File

@ -88,7 +88,7 @@ public:
Joystick(const LPDIRECTINPUTDEVICE8 device, const unsigned int index);
~Joystick();
std::string GetName() const;
int GetId() const;
std::string GetSource() const;

View File

@ -14,7 +14,7 @@ namespace ciface
{
namespace SDL
{
std::string GetJoystickName(int index)
{
#if SDL_VERSION_ATLEAST(2, 0, 0)
@ -25,7 +25,7 @@ std::string GetJoystickName(int index)
}
void Init( std::vector<Core::Device*>& devices )
{
{
// this is used to number the joysticks
// multiple joysticks with the same name shall get unique ids starting at 0
std::map<std::string, int> name_counts;
@ -79,7 +79,7 @@ Joystick::Joystick(SDL_Joystick* const joystick, const int sdl_index, const unsi
// get buttons
for (u8 i = 0; i != SDL_JoystickNumButtons(m_joystick); ++i)
AddInput(new Button(i, m_joystick));
// get hats
for (u8 i = 0; i != SDL_JoystickNumHats(m_joystick); ++i)
{
@ -151,7 +151,7 @@ Joystick::~Joystick()
{
#ifdef USE_SDL_HAPTIC
if (m_haptic)
{
{
// stop/destroy all effects
SDL_HapticStopAll(m_haptic);
std::list<EffectIDState>::iterator
@ -306,7 +306,7 @@ bool Joystick::UpdateInput()
{
// each joystick is doin this, o well
SDL_JoystickUpdate();
return true;
}

View File

@ -10,7 +10,7 @@ static const struct
{
const char* const name;
const WORD bitmask;
} named_buttons[] =
} named_buttons[] =
{
{ "Button A", XINPUT_GAMEPAD_A },
{ "Button B", XINPUT_GAMEPAD_B },
@ -153,7 +153,7 @@ Device::Device(const XINPUT_CAPABILITIES& caps, u8 index)
void Device::ClearInputState()
{
ZeroMemory(&m_state_in, sizeof(m_state_in));
ZeroMemory(&m_state_in, sizeof(m_state_in));
}
std::string Device::GetName() const

View File

@ -8,8 +8,8 @@
#include <cmath>
// This is an input plugin using the XInput 2.0 extension to the X11 protocol,
// loosely based on the old XLib plugin. (Has nothing to do with the XInput
// API on Windows.)
// loosely based on the old XLib plugin. (Has nothing to do with the XInput
// API on Windows.)
// This plugin creates one KeyboardMouse object for each master pointer/
// keyboard pair. Each KeyboardMouse object exports four types of controls:
@ -20,20 +20,20 @@
// center of the emulator window.
// * Mouse axis controls: one for each cardinal direction. Calculated using
// a running average of relative mouse motion on each axis.
// * Key controls: these correspond to a limited subset of the keyboard
// * Key controls: these correspond to a limited subset of the keyboard
// keys.
// Mouse axis control tuning. Unlike absolute mouse position, relative mouse
// motion data needs to be tweaked and smoothed out a bit to be usable.
// Mouse axis control output is simply divided by this number. In practice,
// Mouse axis control output is simply divided by this number. In practice,
// that just means you can use a smaller "dead zone" if you bind axis controls
// to a joystick. No real need to make this customizable.
#define MOUSE_AXIS_SENSITIVITY 8.0f
// The mouse axis controls use a weighted running average. Each frame, the new
// value is the average of the old value and the amount of relative mouse
// value is the average of the old value and the amount of relative mouse
// motion during that frame. The old value is weighted by a ratio of
// MOUSE_AXIS_SMOOTHING:1 compared to the new value. Increasing
// MOUSE_AXIS_SMOOTHING makes the controls smoother, decreasing it makes them
@ -49,31 +49,31 @@ namespace XInput2
void Init(std::vector<Core::Device*>& devices, void* const hwnd)
{
Display* dpy;
dpy = XOpenDisplay(NULL);
// xi_opcode is important; it will be used to identify XInput events by
// xi_opcode is important; it will be used to identify XInput events by
// the polling loop in UpdateInput.
int xi_opcode, event, error;
// verify that the XInput extension is available
if (!XQueryExtension(dpy, "XInputExtension", &xi_opcode, &event, &error))
return;
// verify that the XInput extension is at at least version 2.0
int major = 2, minor = 0;
if (XIQueryVersion(dpy, &major, &minor) != Success)
return;
// register all master devices with Dolphin
XIDeviceInfo* all_masters;
XIDeviceInfo* current_master;
int num_masters;
all_masters = XIQueryDevice(dpy, XIAllMasterDevices, &num_masters);
for (int i = 0; i < num_masters; i++)
{
current_master = &all_masters[i];
@ -82,34 +82,34 @@ void Init(std::vector<Core::Device*>& devices, void* const hwnd)
// be a master keyboard.
devices.push_back(new KeyboardMouse((Window)hwnd, xi_opcode, current_master->deviceid, current_master->attachment));
}
XCloseDisplay(dpy);
XIFreeDeviceInfo(all_masters);
}
// Apply the event mask to the device and all its slaves. Only used in the
// Apply the event mask to the device and all its slaves. Only used in the
// constructor. Remember, each KeyboardMouse has its own copy of the event
// stream, which is how multiple event masks can "coexist."
void KeyboardMouse::SelectEventsForDevice(Window window, XIEventMask *mask, int deviceid)
{
// Set the event mask for the master device.
mask->deviceid = deviceid;
XISelectEvents(m_display, window, mask, 1);
// Query all the master device's slaves and set the same event mask for
// those too. There are two reasons we want to do this. For mouse devices,
// we want the raw motion events, and only slaves (i.e. physical hardware
// devices) emit those. For keyboard devices, selecting slaves avoids
// dealing with key focus.
XIDeviceInfo* all_slaves;
XIDeviceInfo* current_slave;
int num_slaves;
all_slaves = XIQueryDevice(m_display, XIAllDevices, &num_slaves);
for (int i = 0; i < num_slaves; i++)
{
current_slave = &all_slaves[i];
@ -118,33 +118,33 @@ void KeyboardMouse::SelectEventsForDevice(Window window, XIEventMask *mask, int
mask->deviceid = current_slave->deviceid;
XISelectEvents(m_display, window, mask, 1);
}
XIFreeDeviceInfo(all_slaves);
}
KeyboardMouse::KeyboardMouse(Window window, int opcode, int pointer, int keyboard)
KeyboardMouse::KeyboardMouse(Window window, int opcode, int pointer, int keyboard)
: m_window(window), xi_opcode(opcode), pointer_deviceid(pointer), keyboard_deviceid(keyboard)
{
memset(&m_state, 0, sizeof(m_state));
// The cool thing about each KeyboardMouse object having its own Display
// is that each one gets its own separate copy of the X11 event stream,
// which it can individually filter to get just the events it's interested
// in. So be aware that each KeyboardMouse object actually has its own X11
// "context."
m_display = XOpenDisplay(NULL);
int min_keycode, max_keycode;
XDisplayKeycodes(m_display, &min_keycode, &max_keycode);
int unused; // should always be 1
XIDeviceInfo* pointer_device = XIQueryDevice(m_display, pointer_deviceid, &unused);
name = std::string(pointer_device->name);
XIFreeDeviceInfo(pointer_device);
XIEventMask mask;
unsigned char mask_buf[(XI_LASTEVENT + 7)/8];
mask.mask_len = sizeof(mask_buf);
mask.mask = mask_buf;
memset(mask_buf, 0, sizeof(mask_buf));
@ -155,9 +155,9 @@ KeyboardMouse::KeyboardMouse(Window window, int opcode, int pointer, int keyboar
XISetMask(mask_buf, XI_KeyPress);
XISetMask(mask_buf, XI_KeyRelease);
SelectEventsForDevice(DefaultRootWindow(m_display), &mask, pointer_deviceid);
SelectEventsForDevice(DefaultRootWindow(m_display), &mask, pointer_deviceid);
SelectEventsForDevice(DefaultRootWindow(m_display), &mask, keyboard_deviceid);
// Keyboard Keys
for (int i = min_keycode; i <= max_keycode; ++i)
{
@ -175,7 +175,7 @@ KeyboardMouse::KeyboardMouse(Window window, int opcode, int pointer, int keyboar
// Mouse Cursor, X-/+ and Y-/+
for (int i = 0; i != 4; ++i)
AddInput(new Cursor(!!(i & 2), !!(i & 1), (&m_state.cursor.x)[!!(i & 2)]));
// Mouse Axis, X-/+ and Y-/+
for (int i = 0; i != 4; ++i)
AddInput(new Axis(!!(i & 2), !!(i & 1), (&m_state.axis.x)[!!(i & 2)]));
@ -191,15 +191,15 @@ void KeyboardMouse::UpdateCursor()
{
double root_x, root_y, win_x, win_y;
Window root, child;
// unused-- we're not interested in button presses here, as those are
// unused-- we're not interested in button presses here, as those are
// updated using events
XIButtonState button_state;
XIModifierState mods;
XIGroupState group;
XIQueryPointer(m_display, pointer_deviceid, m_window, &root, &child, &root_x, &root_y, &win_x, &win_y, &button_state, &mods, &group);
free (button_state.mask);
XWindowAttributes win_attribs;
@ -213,32 +213,32 @@ void KeyboardMouse::UpdateCursor()
bool KeyboardMouse::UpdateInput()
{
XFlush(m_display);
// Get the absolute position of the mouse pointer
UpdateCursor();
// for the axis controls
float delta_x = 0.0f, delta_y = 0.0f;
double delta_delta;
// Iterate through the event queue - update the axis controls, mouse
// button controls, and keyboard controls.
XEvent event;
while (XPending(m_display))
while (XPending(m_display))
{
XNextEvent(m_display, &event);
if (event.xcookie.type != GenericEvent)
continue;
if (event.xcookie.extension != xi_opcode)
continue;
if (!XGetEventData(m_display, &event.xcookie))
continue;
// only one of these will get used
XIDeviceEvent* dev_event = (XIDeviceEvent*)event.xcookie.data;
XIRawEvent* raw_event = (XIRawEvent*)event.xcookie.data;
switch (event.xcookie.evtype)
{
case XI_ButtonPress:
@ -254,7 +254,7 @@ bool KeyboardMouse::UpdateInput()
m_state.keyboard[dev_event->detail / 8] &= ~(1<<(dev_event->detail % 8));
break;
case XI_RawMotion:
// always safe because there is always at least one byte in
// always safe because there is always at least one byte in
// raw_event->valuators.mask, and if a bit is set in the mask,
// then the value in raw_values is also available.
if (XIMaskIsSet(raw_event->valuators.mask, 0))
@ -273,10 +273,10 @@ bool KeyboardMouse::UpdateInput()
}
break;
}
XFreeEventData(m_display, &event.xcookie);
}
// apply axis smoothing
m_state.axis.x *= MOUSE_AXIS_SMOOTHING;
m_state.axis.x += delta_x;
@ -284,7 +284,7 @@ bool KeyboardMouse::UpdateInput()
m_state.axis.y *= MOUSE_AXIS_SMOOTHING;
m_state.axis.y += delta_y;
m_state.axis.y /= MOUSE_AXIS_SMOOTHING+1.0f;
return true;
}
@ -322,10 +322,10 @@ KeyboardMouse::Key::Key(Display* const display, KeyCode keycode, const char* key
}
while (keysym == NoSymbol && i < 8);
// Convert to upper case for the keyname
// Convert to upper case for the keyname
if (keysym >= 97 && keysym <= 122)
keysym -= 32;
// 0x0110ffff is the top of the unicode character range according
// to keysymdef.h although it is probably more than we need.
if (keysym == NoSymbol || keysym > 0x0110ffff ||

View File

@ -35,7 +35,7 @@ private:
float x, y;
} cursor, axis;
};
class Key : public Input
{
friend class KeyboardMouse;
@ -43,21 +43,21 @@ private:
std::string GetName() const { return m_keyname; }
Key(Display* display, KeyCode keycode, const char* keyboard);
ControlState GetState() const;
private:
std::string m_keyname;
Display* const m_display;
const char* const m_keyboard;
const KeyCode m_keycode;
};
class Button : public Input
{
public:
std::string GetName() const { return name; }
Button(unsigned int index, unsigned int& buttons);
ControlState GetState() const;
private:
const unsigned int& m_buttons;
const unsigned int m_index;
@ -71,14 +71,14 @@ private:
bool IsDetectable() { return false; }
Cursor(u8 index, bool positive, const float& cursor);
ControlState GetState() const;
private:
const float& m_cursor;
const u8 m_index;
const bool m_positive;
std::string name;
};
class Axis : public Input
{
public:
@ -93,22 +93,22 @@ private:
const bool m_positive;
std::string name;
};
private:
void SelectEventsForDevice(Window window, XIEventMask *mask, int deviceid);
void UpdateCursor();
public:
bool UpdateInput();
bool UpdateOutput();
KeyboardMouse(Window window, int opcode, int pointer_deviceid, int keyboard_deviceid);
~KeyboardMouse();
std::string GetName() const;
std::string GetSource() const;
int GetId() const;
private:
Window m_window;
Display* m_display;

View File

@ -20,7 +20,7 @@ KeyboardMouse::KeyboardMouse(Window window) : m_window(window)
int min_keycode, max_keycode;
XDisplayKeycodes(m_display, &min_keycode, &max_keycode);
// Keyboard Keys
for (int i = min_keycode; i <= max_keycode; ++i)
{
@ -99,7 +99,7 @@ KeyboardMouse::Key::Key(Display* const display, KeyCode keycode, const char* key
i++;
}
while (keysym == NoSymbol && i < 8);
// Convert to upper case for the keyname
if (keysym >= 97 && keysym <= 122)
keysym -= 32;

View File

@ -26,7 +26,7 @@ private:
float x, y;
} cursor;
};
class Key : public Input
{
friend class KeyboardMouse;
@ -34,14 +34,14 @@ private:
std::string GetName() const;
Key(Display* display, KeyCode keycode, const char* keyboard);
ControlState GetState() const;
private:
std::string m_keyname;
Display* const m_display;
const char* const m_keyboard;
const KeyCode m_keycode;
};
class Button : public Input
{
public:
@ -49,7 +49,7 @@ private:
Button(unsigned int index, unsigned int& buttons)
: m_buttons(buttons), m_index(index) {}
ControlState GetState() const;
private:
const unsigned int& m_buttons;
const unsigned int m_index;
@ -69,18 +69,18 @@ private:
const u8 m_index;
const bool m_positive;
};
public:
bool UpdateInput();
bool UpdateOutput();
KeyboardMouse(Window window);
~KeyboardMouse();
std::string GetName() const;
std::string GetSource() const;
int GetId() const;
private:
Window m_window;
Display* m_display;

View File

@ -59,12 +59,12 @@ struct UDPWiimote::_d
int UDPWiimote::noinst = 0;
UDPWiimote::UDPWiimote(const char *_port, const char * name, int _index) :
UDPWiimote::UDPWiimote(const char *_port, const char * name, int _index) :
port(_port), displayName(name),
d(new _d) ,x(0),y(0),z(1.0f),naX(0),naY(0),naZ(-1.0f),nunX(0),nunY(0),
pointerX(1001.0f/2),pointerY(0),nunMask(0),mask(0),index(_index), int_port(atoi(_port))
{
static bool sranded=false;
if (!sranded)
{
@ -72,7 +72,7 @@ UDPWiimote::UDPWiimote(const char *_port, const char * name, int _index) :
sranded=true;
}
bcastMagic=rand() & 0xFFFF;
#ifdef _WIN32
u_long iMode = 1;
#endif
@ -88,21 +88,21 @@ UDPWiimote::UDPWiimote(const char *_port, const char * name, int _index) :
WSAStartup(sockVersion, &wsaData);
}
#endif
noinst++;
memset(&hints, 0, sizeof hints);
hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_DGRAM;
hints.ai_flags = AI_PASSIVE; // use my IP
if (!int_port)
{
cleanup;
err=-1;
return;
}
if ((rv = getaddrinfo(NULL, _port, &hints, &servinfo)) != 0)
{
cleanup;
@ -126,14 +126,14 @@ UDPWiimote::UDPWiimote(const char *_port, const char * name, int _index) :
}
d->sockfds.push_back(sock);
}
if (d->sockfds.empty())
{
cleanup;
err=-2;
return;
}
freeaddrinfo(servinfo);
err=0;
d->exit=false;
@ -168,7 +168,7 @@ void UDPWiimote::mainThread()
maxfd=(fd)+1;
#endif
}
u64 tleft=timeout.tv_sec*1000+timeout.tv_usec/1000;
u64 telapsed=time.GetTimeDifference();
time.Update();
@ -184,14 +184,14 @@ void UDPWiimote::mainThread()
timeout.tv_sec=(long)(tleft/1000);
timeout.tv_usec=(tleft%1000)*1000;
}
lk.unlock(); //VERY hacky. don't like it
if (d->exit) return;
if (d->exit) return;
int rt=select(maxfd,&fds,NULL,NULL,&timeout);
if (d->exit) return;
lk.lock();
if (d->exit) return;
if (rt)
{
for (sock_t fd : d->sockfds)
@ -203,9 +203,9 @@ void UDPWiimote::mainThread()
size_t addr_len;
struct sockaddr_storage their_addr;
addr_len = sizeof their_addr;
if ((size = recvfrom(fd,
(dataz)bf,
size , 0,(struct sockaddr *)&their_addr, (socklen_t*)&addr_len)) == -1)
if ((size = recvfrom(fd,
(dataz)bf,
size , 0,(struct sockaddr *)&their_addr, (socklen_t*)&addr_len)) == -1)
{
ERROR_LOG(WIIMOTE,"UDPWii Packet error");
}
@ -327,7 +327,7 @@ void UDPWiimote::initBroadcastIPv4()
WARN_LOG(WIIMOTE,"socket() failed");
return;
}
int broad=1;
if (setsockopt(d->bipv4_fd,SOL_SOCKET,SO_BROADCAST, (const dataz)(&broad), sizeof broad) == -1)
{
@ -344,7 +344,7 @@ void UDPWiimote::broadcastIPv4(const void * data, size_t size)
their_addr.sin_port = htons(4431);
their_addr.sin_addr.s_addr = INADDR_BROADCAST;
memset(their_addr.sin_zero, '\0', sizeof their_addr.sin_zero);
int num;
if ((num=sendto(d->bipv4_fd,(const dataz)data,(int)size,0,(struct sockaddr *) &their_addr, sizeof their_addr)) == -1)
{

View File

@ -38,7 +38,7 @@ private:
std::string port,displayName;
int pharsePacket(u8 * data, size_t size);
struct _d; //using pimpl because Winsock2.h doesn't have include guards -_-
_d *d;
_d *d;
double x,y,z;
double naX,naY,naZ;
double nunX,nunY;

View File

@ -12,7 +12,7 @@ const char* DefaultPort(const int index)
return s.c_str();
}
UDPWrapper::UDPWrapper(int indx, const char* const _name) :
UDPWrapper::UDPWrapper(int indx, const char* const _name) :
ControllerEmu::ControlGroup(_name,GROUP_TYPE_UDPWII),
inst(NULL), index(indx),
updIR(false),updAccel(false),

View File

@ -105,7 +105,7 @@ KeySym wxCharCodeWXToX(int id)
if (id >= 65 && id <= 90)
// Standard uppercase letter: return lowercase keycode
keySym = (KeySym)id + 32;
else
else
// All other keyboard characters
keySym = id <= 255 ? (KeySym)id : 0;
}
@ -126,7 +126,7 @@ int wxKeyModWXToX(int modstate)
#endif
void XKeyToString(unsigned int keycode, char *keyStr) {
switch (keycode)
{
{
case XK_Insert:
sprintf(keyStr, "INSERT");
break;
@ -148,10 +148,10 @@ void XKeyToString(unsigned int keycode, char *keyStr) {
case XK_Left:
sprintf(keyStr, "LEFT");
break;
case XK_Up:
case XK_Up:
sprintf(keyStr, "UP");
break;
case XK_Right:
case XK_Right:
sprintf(keyStr, "RIGHT");
break;
case XK_Down:
@ -178,10 +178,10 @@ void XKeyToString(unsigned int keycode, char *keyStr) {
case XK_KP_Left:
sprintf(keyStr, "KP LEFT");
break;
case XK_KP_Up:
case XK_KP_Up:
sprintf(keyStr, "KP UP");
break;
case XK_KP_Right:
case XK_KP_Right:
sprintf(keyStr, "KP RIGHT");
break;
case XK_KP_Down: