mirror of
https://git.sr.ht/~thestr4ng3r/chiaki
synced 2025-08-21 05:53:12 -07:00
Add Text Input Support to Library (#361)
This commit is contained in:
parent
8fbd1b9427
commit
4ed2e4d6a9
4 changed files with 197 additions and 3 deletions
|
@ -45,6 +45,7 @@ typedef struct chiaki_ctrl_t
|
|||
size_t recv_buf_size;
|
||||
uint64_t crypt_counter_local;
|
||||
uint64_t crypt_counter_remote;
|
||||
uint32_t keyboard_text_counter;
|
||||
} ChiakiCtrl;
|
||||
|
||||
CHIAKI_EXPORT ChiakiErrorCode chiaki_ctrl_init(ChiakiCtrl *ctrl, struct chiaki_session_t *session);
|
||||
|
@ -55,6 +56,9 @@ CHIAKI_EXPORT void chiaki_ctrl_fini(ChiakiCtrl *ctrl);
|
|||
CHIAKI_EXPORT ChiakiErrorCode chiaki_ctrl_send_message(ChiakiCtrl *ctrl, uint16_t type, const uint8_t *payload, size_t payload_size);
|
||||
CHIAKI_EXPORT void chiaki_ctrl_set_login_pin(ChiakiCtrl *ctrl, const uint8_t *pin, size_t pin_size);
|
||||
CHIAKI_EXPORT ChiakiErrorCode chiaki_ctrl_goto_bed(ChiakiCtrl *ctrl);
|
||||
CHIAKI_EXPORT ChiakiErrorCode chiaki_ctrl_keyboard_set_text(ChiakiCtrl *ctrl, const char* text);
|
||||
CHIAKI_EXPORT ChiakiErrorCode chiaki_ctrl_keyboard_accept(ChiakiCtrl *ctrl);
|
||||
CHIAKI_EXPORT ChiakiErrorCode chiaki_ctrl_keyboard_reject(ChiakiCtrl *ctrl);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -102,6 +102,11 @@ typedef struct chiaki_quit_event_t
|
|||
const char *reason_str;
|
||||
} ChiakiQuitEvent;
|
||||
|
||||
typedef struct chiaki_keyboard_event_t
|
||||
{
|
||||
const char *text_str;
|
||||
} ChiakiKeyboardEvent;
|
||||
|
||||
typedef struct chiaki_audio_stream_info_event_t
|
||||
{
|
||||
ChiakiAudioHeader audio_header;
|
||||
|
@ -111,7 +116,10 @@ typedef struct chiaki_audio_stream_info_event_t
|
|||
typedef enum {
|
||||
CHIAKI_EVENT_CONNECTED,
|
||||
CHIAKI_EVENT_LOGIN_PIN_REQUEST,
|
||||
CHIAKI_EVENT_QUIT
|
||||
CHIAKI_EVENT_KEYBOARD_OPEN,
|
||||
CHIAKI_EVENT_KEYBOARD_TEXT_CHANGE,
|
||||
CHIAKI_EVENT_KEYBOARD_REMOTE_CLOSE,
|
||||
CHIAKI_EVENT_QUIT,
|
||||
} ChiakiEventType;
|
||||
|
||||
typedef struct chiaki_event_t
|
||||
|
@ -120,6 +128,7 @@ typedef struct chiaki_event_t
|
|||
union
|
||||
{
|
||||
ChiakiQuitEvent quit;
|
||||
ChiakiKeyboardEvent keyboard;
|
||||
struct
|
||||
{
|
||||
bool pin_incorrect; // false on first request, true if the pin entered before was incorrect
|
||||
|
@ -202,6 +211,9 @@ CHIAKI_EXPORT ChiakiErrorCode chiaki_session_join(ChiakiSession *session);
|
|||
CHIAKI_EXPORT ChiakiErrorCode chiaki_session_set_controller_state(ChiakiSession *session, ChiakiControllerState *state);
|
||||
CHIAKI_EXPORT ChiakiErrorCode chiaki_session_set_login_pin(ChiakiSession *session, const uint8_t *pin, size_t pin_size);
|
||||
CHIAKI_EXPORT ChiakiErrorCode chiaki_session_goto_bed(ChiakiSession *session);
|
||||
CHIAKI_EXPORT ChiakiErrorCode chiaki_session_keyboard_set_text(ChiakiSession *session, const char *text);
|
||||
CHIAKI_EXPORT ChiakiErrorCode chiaki_session_keyboard_reject(ChiakiSession *session);
|
||||
CHIAKI_EXPORT ChiakiErrorCode chiaki_session_keyboard_accept(ChiakiSession *session);
|
||||
|
||||
static inline void chiaki_session_set_event_cb(ChiakiSession *session, ChiakiEventCallback cb, void *user)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue