mirror of
https://github.com/swaywm/sway.git
synced 2026-05-03 06:46:26 -04:00
move wlr dependent input handler to sway
Moves input handling code that uses headers from wlroots from the common code to sway proper, to allow for removing the wlroots dependency from clients
This commit is contained in:
parent
c7c1cf31f7
commit
acae6ad40f
6 changed files with 77 additions and 76 deletions
|
|
@ -9,7 +9,6 @@
|
|||
#include <string.h>
|
||||
#include <strings.h>
|
||||
#include <xkbcommon/xkbcommon-names.h>
|
||||
#include <wlr/types/wlr_keyboard.h>
|
||||
#include "log.h"
|
||||
#include "readline.h"
|
||||
#include "util.h"
|
||||
|
|
@ -25,58 +24,6 @@ int numlen(int n) {
|
|||
return log10(n) + 1;
|
||||
}
|
||||
|
||||
static struct modifier_key {
|
||||
char *name;
|
||||
uint32_t mod;
|
||||
} modifiers[] = {
|
||||
{ XKB_MOD_NAME_SHIFT, WLR_MODIFIER_SHIFT },
|
||||
{ XKB_MOD_NAME_CAPS, WLR_MODIFIER_CAPS },
|
||||
{ XKB_MOD_NAME_CTRL, WLR_MODIFIER_CTRL },
|
||||
{ "Ctrl", WLR_MODIFIER_CTRL },
|
||||
{ XKB_MOD_NAME_ALT, WLR_MODIFIER_ALT },
|
||||
{ "Alt", WLR_MODIFIER_ALT },
|
||||
{ XKB_MOD_NAME_NUM, WLR_MODIFIER_MOD2 },
|
||||
{ "Mod3", WLR_MODIFIER_MOD3 },
|
||||
{ XKB_MOD_NAME_LOGO, WLR_MODIFIER_LOGO },
|
||||
{ "Mod5", WLR_MODIFIER_MOD5 },
|
||||
};
|
||||
|
||||
uint32_t get_modifier_mask_by_name(const char *name) {
|
||||
int i;
|
||||
for (i = 0; i < (int)(sizeof(modifiers) / sizeof(struct modifier_key)); ++i) {
|
||||
if (strcasecmp(modifiers[i].name, name) == 0) {
|
||||
return modifiers[i].mod;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char *get_modifier_name_by_mask(uint32_t modifier) {
|
||||
int i;
|
||||
for (i = 0; i < (int)(sizeof(modifiers) / sizeof(struct modifier_key)); ++i) {
|
||||
if (modifiers[i].mod == modifier) {
|
||||
return modifiers[i].name;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int get_modifier_names(const char **names, uint32_t modifier_masks) {
|
||||
int length = 0;
|
||||
int i;
|
||||
for (i = 0; i < (int)(sizeof(modifiers) / sizeof(struct modifier_key)); ++i) {
|
||||
if ((modifier_masks & modifiers[i].mod) != 0) {
|
||||
names[length] = modifiers[i].name;
|
||||
++length;
|
||||
modifier_masks ^= modifiers[i].mod;
|
||||
}
|
||||
}
|
||||
|
||||
return length;
|
||||
}
|
||||
|
||||
pid_t get_parent_pid(pid_t child) {
|
||||
pid_t parent = -1;
|
||||
char file_name[100];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue