unfettered-keyboard/include/modifier.h
2024-04-15 22:11:20 -04:00

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 */