27 lines
763 B
C
27 lines
763 B
C
/* SPDX-License-Identifier: GPL-3.0-only */
|
|
/*
|
|
* Modifier key callbacks.
|
|
*
|
|
* Copyright (c) 2024, Richard Acayan. All rights reserved.
|
|
*/
|
|
|
|
#ifndef UFKBD_MODIFIER_H
|
|
#define UFKBD_MODIFIER_H
|
|
|
|
#include "ufkbd.h"
|
|
|
|
struct ufkbd_ctx;
|
|
struct ufkbd_press;
|
|
|
|
bool ufkbd_is_modifier(struct ufkbd_press *press);
|
|
|
|
enum ufkbd_mod_state ufkbd_modifier_get_state(const struct ufkbd_ctx *ctx,
|
|
const struct ufkbd_key *key,
|
|
int part);
|
|
|
|
void ufkbd_modifier_press(struct ufkbd_ctx *ctx, struct ufkbd_press *press);
|
|
void ufkbd_modifier_cancel(struct ufkbd_ctx *ctx, struct ufkbd_press *press);
|
|
void ufkbd_modifier_release(struct ufkbd_ctx *ctx, struct ufkbd_press *press);
|
|
void ufkbd_modifier_unlatch_all(struct ufkbd_ctx *ctx);
|
|
|
|
#endif /* UFKBD_MODIFIER_H */
|