Reset key buffer on reload

To preserve my sanity
This commit is contained in:
Drew DeVault 2015-08-20 17:14:26 -04:00
parent 1100335ea0
commit 3a5fce339f
3 changed files with 11 additions and 0 deletions

View file

@ -44,6 +44,7 @@ extern struct pointer_state {
void start_floating(swayc_t *view); void start_floating(swayc_t *view);
void reset_floating(swayc_t *view); void reset_floating(swayc_t *view);
void input_init(void);
#endif #endif

View file

@ -9,6 +9,7 @@
#include "commands.h" #include "commands.h"
#include "config.h" #include "config.h"
#include "layout.h" #include "layout.h"
#include "input_state.h"
struct sway_config *config; struct sway_config *config;
@ -147,6 +148,8 @@ _continue:
bool load_config(const char *file) { bool load_config(const char *file) {
sway_log(L_INFO, "Loading config"); sway_log(L_INFO, "Loading config");
input_init();
char *path; char *path;
if (file != NULL) { if (file != NULL) {
path = strdup(file); path = strdup(file);

View file

@ -8,6 +8,13 @@
static keycode key_state_array[KEY_STATE_MAX_LENGTH]; static keycode key_state_array[KEY_STATE_MAX_LENGTH];
void input_init(void) {
int i;
for (i = 0; i < KEY_STATE_MAX_LENGTH; ++i) {
key_state_array[i] = 0;
}
}
static uint8_t find_key(keycode key) { static uint8_t find_key(keycode key) {
int i; int i;
for (i = 0; i < KEY_STATE_MAX_LENGTH; ++i) { for (i = 0; i < KEY_STATE_MAX_LENGTH; ++i) {