Follow-up on previous commit: Generalized the "Command" key support, it compiles on all platforms and somebody may want to plug a Mac keyboard in a PC :)
Added a "command" symbol in the fonts, so shortcuts that use this key can be displayed. Fixed: In Keyboard settings, some very weird keys (Thinkpad "volume up") were displayed with a wrong number. git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@806 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
2feab9d52c
commit
4a39819c86
11
global.h
11
global.h
@ -1,5 +1,7 @@
|
||||
/* Grafx2 - The Ultimate 256-color bitmap paint program
|
||||
|
||||
Copyright 2009 Franck Charlet
|
||||
Copyright 2009 Yves Rizoud
|
||||
Copyright 2007 Adrien Destugues
|
||||
Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud)
|
||||
|
||||
@ -103,21 +105,14 @@ GFX2_GLOBAL dword Key_ANSI;
|
||||
#undef MOD_ALT
|
||||
#endif
|
||||
|
||||
#if defined(__macosx__)
|
||||
#ifdef MOD_META
|
||||
#undef MOD_META
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/// Key modifier for SHIFT key. Used as mask in ::Key, for example.
|
||||
#define MOD_SHIFT 0x1000
|
||||
/// Key modifier for CONTROL key. Used as mask in ::Key, for example.
|
||||
#define MOD_CTRL 0x2000
|
||||
/// Key modifier for ALT key. Used as mask in ::Key, for example.
|
||||
#define MOD_ALT 0x4000
|
||||
#if defined(__macosx__)
|
||||
/// Key modifier for META key. Used as mask in ::Key, for example.
|
||||
#define MOD_META 0x8000
|
||||
#endif
|
||||
|
||||
/// Boolean set to true when the OS/window manager requests the application to close. ie: [X] button
|
||||
GFX2_GLOBAL byte Quit_is_required;
|
||||
|
||||
4
input.c
4
input.c
@ -356,22 +356,22 @@ int Handle_key_release(SDL_KeyboardEvent event)
|
||||
case SDLK_LSHIFT:
|
||||
modifier=MOD_SHIFT;
|
||||
break;
|
||||
|
||||
case SDLK_RCTRL:
|
||||
case SDLK_LCTRL:
|
||||
modifier=MOD_CTRL;
|
||||
break;
|
||||
|
||||
case SDLK_RALT:
|
||||
case SDLK_LALT:
|
||||
case SDLK_MODE:
|
||||
modifier=MOD_ALT;
|
||||
break;
|
||||
|
||||
#if defined(__macosx__)
|
||||
case SDLK_RMETA:
|
||||
case SDLK_LMETA:
|
||||
modifier=MOD_META;
|
||||
break;
|
||||
#endif
|
||||
|
||||
default:
|
||||
modifier=0;
|
||||
|
||||
15
keyboard.c
15
keyboard.c
@ -318,11 +318,8 @@ word Key_modifiers(SDLMod mod)
|
||||
modifiers|=MOD_SHIFT;
|
||||
if (mod & (KMOD_ALT|KMOD_MODE))
|
||||
modifiers|=MOD_ALT;
|
||||
|
||||
#if defined(__macosx__)
|
||||
if (mod & (KMOD_META))
|
||||
modifiers|=MOD_META;
|
||||
#endif
|
||||
|
||||
return modifiers;
|
||||
}
|
||||
@ -457,6 +454,12 @@ const char * Key_name(word Key)
|
||||
strcat(buffer, "Alt+");
|
||||
if (Key & MOD_SHIFT)
|
||||
strcat(buffer, "Shift+");
|
||||
if (Key & MOD_META)
|
||||
strcat(buffer, "\201");
|
||||
// Note: Apple's "command" character is not present in the ANSI table, so we
|
||||
// recycled an ANSI value that doesn't have any displayable character
|
||||
// associated.
|
||||
|
||||
|
||||
Key=Key & ~(MOD_CTRL|MOD_ALT|MOD_SHIFT);
|
||||
|
||||
@ -495,12 +498,12 @@ const char * Key_name(word Key)
|
||||
return buffer;
|
||||
}
|
||||
|
||||
if (Key & 0x8000)
|
||||
if (Key & 0x800)
|
||||
{
|
||||
sprintf(buffer+strlen(buffer), "[%d]", Key & 0xFFF);
|
||||
sprintf(buffer+strlen(buffer), "[%d]", Key & 0x7FF);
|
||||
return buffer;
|
||||
}
|
||||
Key = Key & 0xFFF;
|
||||
Key = Key & 0x7FF;
|
||||
// Touches ASCII
|
||||
if (Key>=' ' && Key < 127)
|
||||
{
|
||||
|
||||
BIN
skins/base.gif
BIN
skins/base.gif
Binary file not shown.
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Loading…
x
Reference in New Issue
Block a user