Erwan
- Key texts for Windows
This commit is contained in:
@@ -29,18 +29,39 @@ const KeyRep& translateKey(LocalKeySym key) {
|
|||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
|
|
||||||
|
|
||||||
const KeyRep& translateKey(LocalKeySym key) {
|
const KeyRep& translateKey(LocalKeySym key) {
|
||||||
{
|
{
|
||||||
map<const LocalKeySym, KeyRep>::iterator res;
|
map<const LocalKeySym, KeyRep>::iterator res;
|
||||||
if ((res = fattable.find(key)) != fattable.end())
|
if ((res = fattable.find(key)) != fattable.end())
|
||||||
return *(res->second);
|
return (res->second);
|
||||||
}
|
}
|
||||||
|
unsigned int sc = MapVirtualKey(key, 0);
|
||||||
|
|
||||||
/* I think the code should look like this ?
|
switch (key)
|
||||||
Documentation from : http://msdn.microsoft.com/en-us/library/ms171538.aspx
|
{
|
||||||
|
case VK_LEFT: case VK_UP: case VK_RIGHT: case VK_DOWN: // arrow keys
|
||||||
|
case VK_PRIOR: case VK_NEXT: // page up and page down
|
||||||
|
case VK_END: case VK_HOME:
|
||||||
|
case VK_INSERT: case VK_DELETE:
|
||||||
|
case VK_DIVIDE: // numpad slash
|
||||||
|
case VK_NUMLOCK:
|
||||||
|
{
|
||||||
|
sc |= 0x100; // set extended bit
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char buf[256];
|
||||||
|
memset(buf, 0, 256);
|
||||||
|
|
||||||
|
string s;
|
||||||
|
// Convert to ANSI string
|
||||||
|
if (GetKeyNameTextA(sc << 16, buf, 256) > 0)
|
||||||
|
s = buf;
|
||||||
|
|
||||||
Keys keyCode = (Keys)((int)key) & Keys::KeyCode;
|
|
||||||
string s = keyCode.ToString();
|
|
||||||
KeyRep k;
|
KeyRep k;
|
||||||
if (0 == s.length()) {
|
if (0 == s.length()) {
|
||||||
char*str = new char[11];
|
char*str = new char[11];
|
||||||
@@ -51,15 +72,6 @@ const KeyRep& translateKey(LocalKeySym key) {
|
|||||||
fattable[key] = k;
|
fattable[key] = k;
|
||||||
return fattable[key];
|
return fattable[key];
|
||||||
|
|
||||||
... Instead of the following :
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
char* str = new char[11];
|
|
||||||
sprintf(str, "%d", key);
|
|
||||||
const KeyRep k = make_pair(str, static_cast<JQuad*>(NULL));
|
|
||||||
fattable[key] = k;
|
|
||||||
return fattable[key];
|
|
||||||
}
|
}
|
||||||
#else // PSP
|
#else // PSP
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user