formatting cleanup
This commit is contained in:
		
							parent
							
								
									67e96be13c
								
							
						
					
					
						commit
						a6ac900295
					
				| 
						 | 
					@ -1,8 +1,7 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
   quartzKeyboard.c
 | 
					   quartzKeyboard.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   Code to build a keymap using the Carbon Keyboard Layout API,
 | 
					   Code to build a keymap using the Carbon Keyboard Layout API.
 | 
				
			||||||
   which is supported on Mac OS X 10.2 and newer.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
   Copyright (c) 2003, 2007 Apple Inc.
 | 
					   Copyright (c) 2003, 2007 Apple Inc.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -150,15 +149,11 @@ unsigned int
 | 
				
			||||||
DarwinModeSystemKeymapSeed (void)
 | 
					DarwinModeSystemKeymapSeed (void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    static unsigned int seed;
 | 
					    static unsigned int seed;
 | 
				
			||||||
 | 
					 | 
				
			||||||
    static KeyboardLayoutRef last_key_layout;
 | 
					    static KeyboardLayoutRef last_key_layout;
 | 
				
			||||||
    KeyboardLayoutRef key_layout;
 | 
					    KeyboardLayoutRef key_layout;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    KLGetCurrentKeyboardLayout (&key_layout);
 | 
					    KLGetCurrentKeyboardLayout (&key_layout);
 | 
				
			||||||
 | 
					    if (key_layout != last_key_layout) seed++;
 | 
				
			||||||
    if (key_layout != last_key_layout)
 | 
					 | 
				
			||||||
        seed++;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    last_key_layout = key_layout;
 | 
					    last_key_layout = key_layout;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return seed;
 | 
					    return seed;
 | 
				
			||||||
| 
						 | 
					@ -190,10 +185,8 @@ macroman2ucs (unsigned char c)
 | 
				
			||||||
        0xaf, 0x2d8, 0x2d9, 0x2da, 0xb8, 0x2dd, 0x2db, 0x2c7,
 | 
					        0xaf, 0x2d8, 0x2d9, 0x2da, 0xb8, 0x2dd, 0x2db, 0x2c7,
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (c < 128)
 | 
					    if (c < 128) return c;
 | 
				
			||||||
        return c;
 | 
					    else         return table[c - 128];
 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        return table[c - 128];
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static KeySym
 | 
					static KeySym
 | 
				
			||||||
| 
						 | 
					@ -202,10 +195,7 @@ make_dead_key (KeySym in)
 | 
				
			||||||
    int i;
 | 
					    int i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (i = 0; i < sizeof (dead_keys) / sizeof (dead_keys[0]); i++)
 | 
					    for (i = 0; i < sizeof (dead_keys) / sizeof (dead_keys[0]); i++)
 | 
				
			||||||
    {
 | 
					        if (dead_keys[i].normal == in) return dead_keys[i].dead;
 | 
				
			||||||
        if (dead_keys[i].normal == in)
 | 
					 | 
				
			||||||
            return dead_keys[i].dead;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return in;
 | 
					    return in;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -249,53 +239,39 @@ DarwinModeReadSystemKeymap (darwinKeyboardInfo *info)
 | 
				
			||||||
       an X11 keysym (which may just the bit that says "this is
 | 
					       an X11 keysym (which may just the bit that says "this is
 | 
				
			||||||
       Unicode" if it can't find the real symbol.) */
 | 
					       Unicode" if it can't find the real symbol.) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (i = 0; i < num_keycodes; i++)
 | 
					    for (i = 0; i < num_keycodes; i++) {
 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        static const int mods[4] = {0, MOD_SHIFT, MOD_OPTION,
 | 
					        static const int mods[4] = {0, MOD_SHIFT, MOD_OPTION,
 | 
				
			||||||
                                    MOD_OPTION | MOD_SHIFT};
 | 
					                                    MOD_OPTION | MOD_SHIFT};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        k = info->keyMap + i * GLYPHS_PER_KEY;
 | 
					        k = info->keyMap + i * GLYPHS_PER_KEY;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for (j = 0; j < 4; j++)
 | 
					        for (j = 0; j < 4; j++) {
 | 
				
			||||||
        {
 | 
					            if (is_uchr)  {
 | 
				
			||||||
            if (is_uchr)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                UniChar s[8];
 | 
					                UniChar s[8];
 | 
				
			||||||
                UniCharCount len;
 | 
					                UniCharCount len;
 | 
				
			||||||
                UInt32 dead_key_state, extra_dead;
 | 
					                UInt32 dead_key_state = 0, extra_dead = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                dead_key_state = 0;
 | 
					 | 
				
			||||||
                err = UCKeyTranslate (chr_data, i, kUCKeyActionDown,
 | 
					                err = UCKeyTranslate (chr_data, i, kUCKeyActionDown,
 | 
				
			||||||
                                      mods[j] >> 8, keyboard_type, 0,
 | 
					                                      mods[j] >> 8, keyboard_type, 0,
 | 
				
			||||||
                                      &dead_key_state, 8, &len, s);
 | 
					                                      &dead_key_state, 8, &len, s);
 | 
				
			||||||
                if (err != noErr)
 | 
					                if (err != noErr) continue;
 | 
				
			||||||
                    continue;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (len == 0 && dead_key_state != 0)
 | 
					                if (len == 0 && dead_key_state != 0) {
 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    /* Found a dead key. Work out which one it is, but
 | 
					                    /* Found a dead key. Work out which one it is, but
 | 
				
			||||||
                       remembering that it's dead. */
 | 
					                       remembering that it's dead. */
 | 
				
			||||||
 | 
					 | 
				
			||||||
                    extra_dead = 0;
 | 
					 | 
				
			||||||
                    err = UCKeyTranslate (chr_data, i, kUCKeyActionDown,
 | 
					                    err = UCKeyTranslate (chr_data, i, kUCKeyActionDown,
 | 
				
			||||||
                                          mods[j] >> 8, keyboard_type,
 | 
					                                          mods[j] >> 8, keyboard_type,
 | 
				
			||||||
                                          kUCKeyTranslateNoDeadKeysMask,
 | 
					                                          kUCKeyTranslateNoDeadKeysMask,
 | 
				
			||||||
                                          &extra_dead, 8, &len, s);
 | 
					                                          &extra_dead, 8, &len, s);
 | 
				
			||||||
                    if (err != noErr)
 | 
					                    if (err != noErr) continue;
 | 
				
			||||||
                        continue;
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (len > 0 && s[0] != 0x0010)
 | 
					                if (len > 0 && s[0] != 0x0010) {
 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    k[j] = ucs2keysym (s[0]);
 | 
					                    k[j] = ucs2keysym (s[0]);
 | 
				
			||||||
    
 | 
					                    if (dead_key_state != 0) k[j] = make_dead_key (k[j]);
 | 
				
			||||||
                    if (dead_key_state != 0)
 | 
					 | 
				
			||||||
                        k[j] = make_dead_key (k[j]);
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            } else { // kchr
 | 
				
			||||||
            else
 | 
						      UInt32 c, state = 0, state2 = 0;
 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                UInt32 c, state = 0;
 | 
					 | 
				
			||||||
                UInt16 code;
 | 
					                UInt16 code;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                code = i | mods[j];
 | 
					                code = i | mods[j];
 | 
				
			||||||
| 
						 | 
					@ -307,67 +283,50 @@ DarwinModeReadSystemKeymap (darwinKeyboardInfo *info)
 | 
				
			||||||
                   us the actual dead character. */
 | 
					                   us the actual dead character. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (state != 0)
 | 
					                if (state != 0)
 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    UInt32 state2 = 0;
 | 
					 | 
				
			||||||
                    c = KeyTranslate (chr_data, code | 128, &state2);
 | 
					                    c = KeyTranslate (chr_data, code | 128, &state2);
 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                /* Characters seem to be in MacRoman encoding. */
 | 
					                /* Characters seem to be in MacRoman encoding. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (c != 0 && c != 0x0010)
 | 
					                if (c != 0 && c != 0x0010) {
 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    k[j] = ucs2keysym (macroman2ucs (c & 255));
 | 
					                    k[j] = ucs2keysym (macroman2ucs (c & 255));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    if (state != 0)
 | 
					                    if (state != 0) k[j] = make_dead_key (k[j]);
 | 
				
			||||||
                        k[j] = make_dead_key (k[j]);
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
						
 | 
				
			||||||
        if (k[3] == k[2])
 | 
					        if (k[3] == k[2]) k[3] = NoSymbol;
 | 
				
			||||||
            k[3] = NoSymbol;
 | 
					        if (k[2] == k[1]) k[2] = NoSymbol;
 | 
				
			||||||
        if (k[2] == k[1])
 | 
					        if (k[1] == k[0]) k[1] = NoSymbol;
 | 
				
			||||||
            k[2] = NoSymbol;
 | 
					        if (k[0] == k[2] && k[1] == k[3]) k[2] = k[3] = NoSymbol;
 | 
				
			||||||
        if (k[1] == k[0])
 | 
					 | 
				
			||||||
            k[1] = NoSymbol;
 | 
					 | 
				
			||||||
        if (k[0] == k[2] && k[1] == k[3])
 | 
					 | 
				
			||||||
            k[2] = k[3] = NoSymbol;
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Fix up some things that are normally missing.. */
 | 
					    /* Fix up some things that are normally missing.. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (HACK_MISSING)
 | 
					    if (HACK_MISSING) {
 | 
				
			||||||
    {
 | 
					        for (i = 0; i < sizeof (known_keys) / sizeof (known_keys[0]); i++) {
 | 
				
			||||||
        for (i = 0; i < sizeof (known_keys) / sizeof (known_keys[0]); i++)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            k = info->keyMap + known_keys[i].keycode * GLYPHS_PER_KEY;
 | 
					            k = info->keyMap + known_keys[i].keycode * GLYPHS_PER_KEY;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (k[0] == NoSymbol && k[1] == NoSymbol
 | 
					            if    (k[0] == NoSymbol && k[1] == NoSymbol
 | 
				
			||||||
                && k[2] == NoSymbol && k[3] == NoSymbol)
 | 
					                && k[2] == NoSymbol && k[3] == NoSymbol)
 | 
				
			||||||
            {
 | 
						      k[0] = known_keys[i].keysym;
 | 
				
			||||||
                k[0] = known_keys[i].keysym;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* And some more things. We find the right symbols for the numeric
 | 
					    /* And some more things. We find the right symbols for the numeric
 | 
				
			||||||
       keypad, but not the KP_ keysyms. So try to convert known keycodes. */
 | 
					       keypad, but not the KP_ keysyms. So try to convert known keycodes. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (HACK_KEYPAD)
 | 
					    if (HACK_KEYPAD) {
 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        for (i = 0; i < sizeof (known_numeric_keys)
 | 
					        for (i = 0; i < sizeof (known_numeric_keys)
 | 
				
			||||||
                        / sizeof (known_numeric_keys[0]); i++)
 | 
					                        / sizeof (known_numeric_keys[0]); i++) {
 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            k = info->keyMap + known_numeric_keys[i].keycode * GLYPHS_PER_KEY;
 | 
					            k = info->keyMap + known_numeric_keys[i].keycode * GLYPHS_PER_KEY;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (k[0] == known_numeric_keys[i].normal)
 | 
					            if (k[0] == known_numeric_keys[i].normal)
 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                k[0] = known_numeric_keys[i].keypad;
 | 
					                k[0] = known_numeric_keys[i].keypad;
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
	if(currentKeyLayoutRef)	CFRelease(currentKeyLayoutRef);
 | 
					    if(currentKeyLayoutRef)	CFRelease(currentKeyLayoutRef);
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    return TRUE;
 | 
					    return TRUE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue