mirror of
https://github.com/glfw/glfw.git
synced 2026-09-18 22:55:46 +00:00
Cleanup.
This commit is contained in:
+13
-15
@@ -854,38 +854,36 @@ static struct codepair {
|
||||
|
||||
// Convert X11 KeySym to Unicode
|
||||
//
|
||||
long _glfwKeySym2Unicode( KeySym keysym )
|
||||
long _glfwKeySym2Unicode(KeySym keysym)
|
||||
{
|
||||
int min = 0;
|
||||
int max = sizeof(keysymtab) / sizeof(struct codepair) - 1;
|
||||
int mid;
|
||||
|
||||
/* First check for Latin-1 characters (1:1 mapping) */
|
||||
if( (keysym >= 0x0020 && keysym <= 0x007e) ||
|
||||
(keysym >= 0x00a0 && keysym <= 0x00ff) )
|
||||
{ return keysym;
|
||||
// First check for Latin-1 characters (1:1 mapping)
|
||||
if ((keysym >= 0x0020 && keysym <= 0x007e) ||
|
||||
(keysym >= 0x00a0 && keysym <= 0x00ff))
|
||||
{
|
||||
return keysym;
|
||||
}
|
||||
|
||||
/* Also check for directly encoded 24-bit UCS characters */
|
||||
if( (keysym & 0xff000000) == 0x01000000 )
|
||||
// Also check for directly encoded 24-bit UCS characters
|
||||
if ((keysym & 0xff000000) == 0x01000000)
|
||||
return keysym & 0x00ffffff;
|
||||
|
||||
/* Binary search in table */
|
||||
while( max >= min )
|
||||
// Binary search in table
|
||||
while (max >= min)
|
||||
{
|
||||
mid = (min + max) / 2;
|
||||
if( keysymtab[mid].keysym < keysym )
|
||||
if (keysymtab[mid].keysym < keysym)
|
||||
min = mid + 1;
|
||||
else if( keysymtab[mid].keysym > keysym )
|
||||
else if (keysymtab[mid].keysym > keysym)
|
||||
max = mid - 1;
|
||||
else
|
||||
{
|
||||
/* Found it! */
|
||||
return keysymtab[mid].ucs;
|
||||
}
|
||||
}
|
||||
|
||||
/* No matching Unicode value found */
|
||||
// No matching Unicode value found
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user