]> git.mxchange.org Git - flightgear.git/blob - Main/GLTKkey.c
c34bdc3c755bc4881cda3eec6f6fa0cca958343c
[flightgear.git] / Main / GLTKkey.c
1 /**************************************************************************
2  * tkglkey.c -- handle tkgl keyboard events
3  *
4  * Written by Curtis Olson, started May 1997.
5  *
6  * Copyright (C) 1997  Curtis L. Olson  - curt@infoplane.com
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License as
10  * published by the Free Software Foundation; either version 2 of the
11  * License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21  *
22  * $Id$
23  * (Log is kept at end of this file)
24  **************************************************************************/
25
26
27 #include <stdio.h>
28
29 /* assumes -I/usr/include/mesa in compile command */
30 #include "gltk.h"
31
32 #include "GLTKkey.h"
33 #include "../aircraft/aircraft.h"
34
35
36 /* Handle keyboard events */
37 GLenum GLTKkey(int k, GLenum mask) {
38     struct control_params *c;
39
40     c = &current_aircraft.controls;
41
42     switch (k) {
43     case TK_UP:
44         c->elev -= 0.1;
45         return GL_TRUE;
46     case TK_DOWN:
47         c->elev += 0.1;
48         return GL_TRUE;
49     case TK_LEFT:
50         c->aileron += 0.01;
51         return GL_TRUE;
52     case TK_RIGHT:
53         c->aileron -= 0.01;
54         return GL_TRUE;
55     case 1 /* TK_END */:
56         c->rudder -= 0.01;
57         return GL_TRUE;
58     case 2 /* TK_PGDWN */:
59         c->rudder += 0.01;
60         return GL_TRUE;
61     case TK_a:
62         c->throttle[0] -= 0.05;
63         return GL_TRUE;
64     case TK_s:
65         c->throttle[0] += 0.05;
66     case TK_ESCAPE:
67         tkQuit();
68     }
69
70     printf("Key hit = %d\n", k);
71
72     return GL_FALSE;
73 }
74
75
76 /* $Log$
77 /* Revision 1.2  1997/05/23 15:40:24  curt
78 /* Added GNU copyright headers.
79 /* Fog now works!
80 /*
81  * Revision 1.1  1997/05/21 15:57:49  curt
82  * Renamed due to added GLUT support.
83  *
84  * Revision 1.2  1997/05/19 18:22:41  curt
85  * Parameter tweaking ... starting to stub in fog support.
86  *
87  * Revision 1.1  1997/05/16 16:05:51  curt
88  * Initial revision.
89  *
90  */