Blame synfig-osx/launcher/darwin-keyboard.h

Carlos Lopez a09598
/* darwin-keyboard.h
Carlos Lopez a09598
   $Id: darwin-keyboard.h,v 1.1 2003/01/22 01:54:10 jharper Exp $
Carlos Lopez a09598
Carlos Lopez a09598
   Copyright (c) 2003 Apple Computer, Inc. All rights reserved.
Carlos Lopez a09598
Carlos Lopez a09598
   Permission is hereby granted, free of charge, to any person
Carlos Lopez a09598
   obtaining a copy of this software and associated documentation files
Carlos Lopez a09598
   (the "Software"), to deal in the Software without restriction,
Carlos Lopez a09598
   including without limitation the rights to use, copy, modify, merge,
Carlos Lopez a09598
   publish, distribute, sublicense, and/or sell copies of the Software,
Carlos Lopez a09598
   and to permit persons to whom the Software is furnished to do so,
Carlos Lopez a09598
   subject to the following conditions:
Carlos Lopez a09598
Carlos Lopez a09598
   The above copyright notice and this permission notice shall be
Carlos Lopez a09598
   included in all copies or substantial portions of the Software.
Carlos Lopez a09598
Carlos Lopez a09598
   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
Carlos Lopez a09598
   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
Carlos Lopez a09598
   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
Carlos Lopez a09598
   NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT
Carlos Lopez a09598
   HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
Carlos Lopez a09598
   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
Carlos Lopez a09598
   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
Carlos Lopez a09598
   DEALINGS IN THE SOFTWARE.
Carlos Lopez a09598
Carlos Lopez a09598
   Except as contained in this notice, the name(s) of the above
Carlos Lopez a09598
   copyright holders shall not be used in advertising or otherwise to
Carlos Lopez a09598
   promote the sale, use or other dealings in this Software without
Carlos Lopez a09598
   prior written authorization. */
Carlos Lopez a09598
Carlos Lopez a09598
#ifndef DARWIN_KEYBOARD_H
Carlos Lopez a09598
#define DARWIN_KEYBOARD_H 1
Carlos Lopez a09598
Carlos Lopez a09598
#include "X.h"
Carlos Lopez a09598
Carlos Lopez a09598
/* Each key can generate 4 glyphs. They are, in order:
Carlos Lopez a09598
   unshifted, shifted, modeswitch unshifted, modeswitch shifted */
Carlos Lopez a09598
Carlos Lopez a09598
#ifndef MIN_KEYCODE
Carlos Lopez a09598
# define MIN_KEYCODE 8
Carlos Lopez a09598
#endif
Carlos Lopez a09598
Carlos Lopez a09598
#define GLYPHS_PER_KEY  4
Carlos Lopez a09598
#define NUM_KEYCODES    248
Carlos Lopez a09598
#define MAX_KEYCODE     NUM_KEYCODES + MIN_KEYCODE - 1
Carlos Lopez a09598
Carlos Lopez a09598
typedef struct darwin_keyboard_info_struct darwin_keyboard_info;
Carlos Lopez a09598
Carlos Lopez a09598
struct darwin_keyboard_info_struct {
Carlos Lopez a09598
    unsigned char mod_map[MAX_KEYCODE+1];
Carlos Lopez a09598
    KeySym key_map[NUM_KEYCODES * GLYPHS_PER_KEY];
Carlos Lopez a09598
    unsigned char modifier_keycodes[32][2];
Carlos Lopez a09598
};
Carlos Lopez a09598
Carlos Lopez a09598
extern int DarwinReadSystemKeymap (darwin_keyboard_info *info);
Carlos Lopez a09598
extern int DarwinParseKeymapFile (darwin_keyboard_info *info);
Carlos Lopez a09598
Carlos Lopez a09598
#endif /* DARWIN_KEYBOARD_H */