mirror of
https://github.com/NickHu/sway
synced 2024-12-29 22:23:46 +01:00
55 lines
962 B
C
55 lines
962 B
C
#ifndef _SWAY_KEY_STATE_H
|
|
#define _SWAY_KEY_STATE_H
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
#include "container.h"
|
|
|
|
/* Keyboard state */
|
|
|
|
typedef uint32_t keycode;
|
|
|
|
// returns true if key has been pressed, otherwise false
|
|
bool check_key(keycode key);
|
|
|
|
// sets a key as pressed
|
|
void press_key(keycode key);
|
|
|
|
// unsets a key as pressed
|
|
void release_key(keycode key);
|
|
|
|
/* Pointer state */
|
|
|
|
enum pointer_values {
|
|
M_LEFT_CLICK = 272,
|
|
M_RIGHT_CLICK = 273,
|
|
M_SCROLL_CLICK = 274,
|
|
M_SCROLL_UP = 275,
|
|
M_SCROLL_DOWN = 276,
|
|
};
|
|
|
|
extern struct pointer_state {
|
|
bool l_held;
|
|
bool r_held;
|
|
struct pointer_floating {
|
|
bool drag;
|
|
bool resize;
|
|
} floating;
|
|
struct pointer_tiling {
|
|
bool resize;
|
|
swayc_t *init_view;
|
|
struct wlc_origin *lock_pos;
|
|
} tiling;
|
|
struct pointer_lock {
|
|
bool left;
|
|
bool right;
|
|
bool top;
|
|
bool bottom;
|
|
} lock;
|
|
} pointer_state;
|
|
|
|
void start_floating(swayc_t *view);
|
|
void reset_floating(swayc_t *view);
|
|
void input_init(void);
|
|
|
|
#endif
|
|
|