FlightGear
next
jssuper.cxx
Go to the documentation of this file.
1
// jssuper.cxx -- manage access to multiple joysticks
2
//
3
// Written by Tony Peden, started May 2001
4
//
5
// Copyright (C) 2001 Tony Peden (apeden@earthlink.net)
6
//
7
// This program is free software; you can redistribute it and/or
8
// modify it under the terms of the GNU General Public License as
9
// published by the Free Software Foundation; either version 2 of the
10
// License, or (at your option) any later version.
11
//
12
// This program is distributed in the hope that it will be useful, but
13
// WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
// General Public License for more details.
16
//
17
// You should have received a copy of the GNU General Public License
18
// along with this program; if not, write to the Free Software
19
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
21
22
#include "
jssuper.h
"
23
24
25
jsSuper::jsSuper
(
void
) {
26
int
i
;
27
28
activeJoysticks=0;
29
currentJoystick=0;
30
first=-1;
31
last=0;
32
for
(
i
= 0;
i
<
MAX_JOYSTICKS
;
i
++ )
33
js[
i
] =
new
jsJoystick(
i
);
34
35
for
(
i
= 0;
i
<
MAX_JOYSTICKS
;
i
++ )
36
{
37
active[
i
] = ! ( js[
i
]->notWorking () );
38
if
( active[
i
] ) {
39
activeJoysticks++;
40
if
(first < 0) {
41
first=
i
;
42
}
43
last=
i
;
44
}
45
}
46
47
}
48
49
50
int
jsSuper::nextJoystick
(
void
) {
51
// int i;
52
if
(!activeJoysticks)
return
0;
53
if
(currentJoystick == last )
return
0;
54
currentJoystick++;
55
while
(!active[currentJoystick]){ currentJoystick++; };
56
return
1;
57
}
58
59
int
jsSuper::prevJoystick
(
void
) {
60
// int i;
61
if
(!activeJoysticks)
return
0;
62
if
(currentJoystick == first )
return
0;
63
currentJoystick--;
64
while
(!active[currentJoystick]){ currentJoystick--; };
65
return
1;
66
}
67
68
69
70
71
jsSuper::~jsSuper
(
void
) {
72
int
i
;
73
for
(
i
= 0;
i
<
MAX_JOYSTICKS
;
i
++ )
74
delete
js[
i
];
75
}
76
77
78
79
80
i
#define i(x)
jsSuper::~jsSuper
~jsSuper(void)
Definition
jssuper.cxx:71
jsSuper::prevJoystick
int prevJoystick(void)
Definition
jssuper.cxx:59
jsSuper::nextJoystick
int nextJoystick(void)
Definition
jssuper.cxx:50
jsSuper::jsSuper
jsSuper(void)
Definition
jssuper.cxx:25
jssuper.h
MAX_JOYSTICKS
#define MAX_JOYSTICKS
Definition
jssuper.h:28
src
Input
jssuper.cxx
Generated on Tue Jun 3 2025 12:58:39 for FlightGear by
1.13.2