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