sdk-world v2026.11.05
PS2 SDK - world tier (copyleft-allowed, non-essential packages)
Loading...
Searching...
No Matches
input.h
Go to the documentation of this file.
1
6
7#ifndef __INPUT_H__
8#define __INPUT_H__
9
10#include <libpad.h>
11
12#define MODE_DIGITAL 0
13#define MODE_ANALOG 1
14
15#define MODE_UNLOCKED 0
16#define MODE_LOCKED 1
17
18#define PAD_LEFT 0x0080
19#define PAD_DOWN 0x0040
20#define PAD_RIGHT 0x0020
21#define PAD_UP 0x0010
22#define PAD_START 0x0008
23#define PAD_R3 0x0004
24#define PAD_L3 0x0002
25#define PAD_SELECT 0x0001
26#define PAD_SQUARE 0x8000
27#define PAD_CROSS 0x4000
28#define PAD_CIRCLE 0x2000
29#define PAD_TRIANGLE 0x1000
30#define PAD_R1 0x0800
31#define PAD_L1 0x0400
32#define PAD_R2 0x0200
33#define PAD_L2 0x0100
34
35typedef struct {
36 char small;
37 unsigned char large;
38 char status[6];
40
41typedef struct {
42
43 char port;
44 char slot;
45 char mode;
46 char lock;
47
48 int type;
49
50 char state;
51 char last_state;
52 char exec_cmd;
53 char num_modes;
54 char sensitivity;
55
56 struct padButtonStatus *buttons;
57
58 actuator_t *actuator;
59 char *buffer;
60
61} pad_t;
62
63#ifdef __cplusplus
64extern "C" {
65#endif
66
68extern pad_t *pad_open(unsigned int port, unsigned int slot, unsigned int mode, unsigned int lock);
69
71static inline void pad_get_buttons(pad_t *pad)
72{
73 padRead(pad->port,pad->slot,pad->buttons);
74}
75
77extern void pad_close(pad_t *pad);
78
80extern void pad_wait(pad_t *pad);
81
82#ifdef DEBUG
84extern void pad_print_state(pad_t *pad);
85
87extern void pad_print_supported_modes(pad_t *pad);
88#endif
90extern void pad_set_mode(pad_t *pad, int mode, int lock);
91
93extern void pad_set_sensitivity(pad_t *pad, int enable);
94
96extern void pad_init_actuators(pad_t *pad);
97
99extern void pad_set_actuators(pad_t *pad, int small, unsigned char large);
100
102extern int pad_get_state(pad_t *pad);
103
105extern int pad_get_num_modes(pad_t *pad);
106
108extern int pad_has_type(pad_t *pad, int type);
109
111extern int pad_get_type(pad_t *pad);
112
114extern int pad_get_mode(pad_t *pad);
115
116#ifdef __cplusplus
117};
118#endif
119
120#endif /* __INPUT_H__ */
void pad_close(pad_t *pad)
Definition input.c:82
int pad_has_type(pad_t *pad, int type)
Definition input.c:178
void pad_wait(pad_t *pad)
Definition input.c:122
int pad_get_state(pad_t *pad)
Definition input.c:103
int pad_get_type(pad_t *pad)
Definition input.c:206
pad_t * pad_open(unsigned int port, unsigned int slot, unsigned int mode, unsigned int lock)
Definition input.c:10
void pad_set_actuators(pad_t *pad, int small, unsigned char large)
Definition input.c:326
void pad_set_sensitivity(pad_t *pad, int enable)
Definition input.c:261
void pad_init_actuators(pad_t *pad)
Definition input.c:288
int pad_get_mode(pad_t *pad)
void pad_set_mode(pad_t *pad, int mode, int lock)
Definition input.c:215
int pad_get_num_modes(pad_t *pad)
Definition input.c:145
Definition input.h:41