source: mainline/uspace/lib/c/include/io/input.h@ d7f7a4a

Last change on this file since d7f7a4a was d7f7a4a, checked in by Jiří Zárevúcky <zarevucky.jiri@…>, 3 years ago

Replace some license headers with SPDX identifier

Headers are replaced using tools/transorm-copyright.sh only
when it can be matched verbatim with the license header used
throughout most of the codebase.

  • Property mode set to 100644
File size: 915 bytes
Line 
1/*
2 * SPDX-FileCopyrightText: 2021 Jiri Svoboda
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7/** @addtogroup libc
8 * @{
9 */
10/** @file
11 */
12
13#ifndef _LIBC_IO_INPUT_H_
14#define _LIBC_IO_INPUT_H_
15
16#include <async.h>
17#include <io/kbd_event.h>
18
19struct input_ev_ops;
20
21typedef struct {
22 async_sess_t *sess;
23 struct input_ev_ops *ev_ops;
24 void *user;
25} input_t;
26
27typedef struct input_ev_ops {
28 errno_t (*active)(input_t *);
29 errno_t (*deactive)(input_t *);
30 errno_t (*key)(input_t *, kbd_event_type_t, keycode_t, keymod_t, char32_t);
31 errno_t (*move)(input_t *, int, int);
32 errno_t (*abs_move)(input_t *, unsigned, unsigned, unsigned, unsigned);
33 errno_t (*button)(input_t *, int, int);
34 errno_t (*dclick)(input_t *, int);
35} input_ev_ops_t;
36
37extern errno_t input_open(async_sess_t *, input_ev_ops_t *, void *, input_t **);
38extern void input_close(input_t *);
39extern errno_t input_activate(input_t *);
40
41#endif
42
43/** @}
44 */
Note: See TracBrowser for help on using the repository browser.