File: cqkeys.h

package info (click to toggle)
conquest 8.1-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 7,984 kB
  • ctags: 3,086
  • sloc: ansic: 39,393; sh: 8,540; yacc: 446; makefile: 296; lex: 146
file content (58 lines) | stat: -rw-r--r-- 2,774 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/* 
 * Conquest 'special' keysyms 
 *
 * $Id: cqkeys.h,v 1.2 2004/05/08 21:01:41 jon Exp $
 *
 * Copyright 1999-2004 Jon Trulson under the ARTISTIC LICENSE. (See LICENSE).
 */

#ifndef _CQKEYS_H
#define _CQKEYS_H

#include <GL/glut.h>

/* we just want to encode both 'normal' keys as well as 'special' keys
   (Arrows, Fkeys, etc) into a single int.  Glut special keys
   are shifted 8 bits left during input handling, and we will represent
   that here by making our own key defs for special keys. We will also
   encode the modifier state shifted 16 */

#define CQ_MODIFIER_MASK        (0x00ff0000)
#define CQ_MODIFIER_SHIFT       (16)
#define CQ_FKEY_MASK            (0x0000ff00)
#define CQ_FKEY_SHIFT           (8)
#define CQ_CHAR_MASK            (0x000000ff)

#define CQ_MODIFIER(x)          (x & CQ_MODIFIER_MASK)
#define CQ_FKEY(x)              (x & CQ_FKEY_MASK)
#define CQ_CHAR(x)              (x & CQ_CHAR_MASK)

#define CQ_KEY_MOD_SHIFT        (0x00010000)
#define CQ_KEY_MOD_CTRL         (0x00020000)
#define CQ_KEY_MOD_ALT          (0x00040000)

#define CQ_KEY_F1               ((GLUT_KEY_F1 & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_F2               ((GLUT_KEY_F2 & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_F3               ((GLUT_KEY_F3 & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_F4               ((GLUT_KEY_F4 & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_F5               ((GLUT_KEY_F5 & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_F6               ((GLUT_KEY_F6 & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_F7               ((GLUT_KEY_F7 & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_F8               ((GLUT_KEY_F8 & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_F9               ((GLUT_KEY_F9 & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_F10              ((GLUT_KEY_F10 & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_F11              ((GLUT_KEY_F11 & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_F12              ((GLUT_KEY_F12 & 0x000000ff) << CQ_FKEY_SHIFT)

/* directional keys */
#define CQ_KEY_LEFT             ((GLUT_KEY_LEFT & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_UP               ((GLUT_KEY_UP & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_RIGHT            ((GLUT_KEY_RIGHT & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_DOWN             ((GLUT_KEY_DOWN & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_PAGE_UP          ((GLUT_KEY_PAGE_UP & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_PAGE_DOWN        ((GLUT_KEY_PAGE_DOWN & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_HOME             ((GLUT_KEY_HOME & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_END              ((GLUT_KEY_END & 0x000000ff) << CQ_FKEY_SHIFT)
#define CQ_KEY_INSERT           ((GLUT_KEY_INSERT & 0x000000ff) << CQ_FKEY_SHIFT)

#endif /* _CQKEYS_H */