Merge branch 'fixes' into 'master'
Fixes See merge request Librem5/squeekboard!129
This commit is contained in:
@ -46,8 +46,6 @@ enum {
|
|||||||
LAST_SIGNAL
|
LAST_SIGNAL
|
||||||
};
|
};
|
||||||
|
|
||||||
static guint signals[LAST_SIGNAL] = { 0, };
|
|
||||||
|
|
||||||
typedef struct _EekElementPrivate
|
typedef struct _EekElementPrivate
|
||||||
{
|
{
|
||||||
gchar *name;
|
gchar *name;
|
||||||
|
|||||||
@ -222,7 +222,7 @@ void eek_keyboard_press_key(LevelKeyboard *keyboard, EekKey *key, guint32 timest
|
|||||||
|
|
||||||
guint keycode = eek_key_get_keycode (key);
|
guint keycode = eek_key_get_keycode (key);
|
||||||
|
|
||||||
emit_key_activated(keyboard->manager, keyboard, keycode, 0, TRUE, timestamp);
|
emit_key_activated(keyboard->manager, keyboard, keycode, TRUE, timestamp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void eek_keyboard_release_key(LevelKeyboard *keyboard,
|
void eek_keyboard_release_key(LevelKeyboard *keyboard,
|
||||||
@ -247,7 +247,7 @@ void eek_keyboard_release_key(LevelKeyboard *keyboard,
|
|||||||
|
|
||||||
guint keycode = eek_key_get_keycode (key);
|
guint keycode = eek_key_get_keycode (key);
|
||||||
|
|
||||||
emit_key_activated(keyboard->manager, keyboard, keycode, 0, FALSE, timestamp);
|
emit_key_activated(keyboard->manager, keyboard, keycode, FALSE, timestamp);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
@ -459,8 +459,6 @@ keysizer(EekElement *element, gpointer user_data)
|
|||||||
static void
|
static void
|
||||||
keycounter (EekElement *element, gpointer user_data)
|
keycounter (EekElement *element, gpointer user_data)
|
||||||
{
|
{
|
||||||
EekKey *key = EEK_KEY(element);
|
|
||||||
|
|
||||||
struct keys_info *data = user_data;
|
struct keys_info *data = user_data;
|
||||||
data->count++;
|
data->count++;
|
||||||
EekBounds key_bounds = {0};
|
EekBounds key_bounds = {0};
|
||||||
@ -474,8 +472,6 @@ keycounter (EekElement *element, gpointer user_data)
|
|||||||
static void
|
static void
|
||||||
keyplacer(EekElement *element, gpointer user_data)
|
keyplacer(EekElement *element, gpointer user_data)
|
||||||
{
|
{
|
||||||
EekKey *key = EEK_KEY(element);
|
|
||||||
|
|
||||||
double *current_offset = user_data;
|
double *current_offset = user_data;
|
||||||
EekBounds key_bounds = {0};
|
EekBounds key_bounds = {0};
|
||||||
eek_element_get_bounds(element, &key_bounds);
|
eek_element_get_bounds(element, &key_bounds);
|
||||||
|
|||||||
@ -87,27 +87,21 @@ static void
|
|||||||
send_fake_key (SeatEmitter *emitter,
|
send_fake_key (SeatEmitter *emitter,
|
||||||
LevelKeyboard *keyboard,
|
LevelKeyboard *keyboard,
|
||||||
guint keycode,
|
guint keycode,
|
||||||
guint keyboard_modifiers,
|
|
||||||
gboolean pressed,
|
gboolean pressed,
|
||||||
uint32_t timestamp)
|
uint32_t timestamp)
|
||||||
{
|
{
|
||||||
uint32_t proto_modifiers = 0;
|
|
||||||
guint level = keyboard->level;
|
guint level = keyboard->level;
|
||||||
uint32_t group = (level / 2);
|
uint32_t group = (level / 2);
|
||||||
|
|
||||||
if (keyboard_modifiers & EEK_SHIFT_MASK)
|
zwp_virtual_keyboard_v1_modifiers(emitter->virtual_keyboard, 0, 0, 0, group);
|
||||||
proto_modifiers |= 1<<MOD_IDX_SHIFT;
|
|
||||||
|
|
||||||
zwp_virtual_keyboard_v1_modifiers(emitter->virtual_keyboard, proto_modifiers, 0, 0, group);
|
|
||||||
send_virtual_keyboard_key (emitter->virtual_keyboard, keycode - 8, (unsigned)pressed, timestamp);
|
send_virtual_keyboard_key (emitter->virtual_keyboard, keycode - 8, (unsigned)pressed, timestamp);
|
||||||
zwp_virtual_keyboard_v1_modifiers(emitter->virtual_keyboard, proto_modifiers, 0, 0, group);
|
zwp_virtual_keyboard_v1_modifiers(emitter->virtual_keyboard, 0, 0, 0, group);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
emit_key_activated (EekboardContextService *manager,
|
emit_key_activated (EekboardContextService *manager,
|
||||||
LevelKeyboard *keyboard,
|
LevelKeyboard *keyboard,
|
||||||
guint keycode,
|
guint keycode,
|
||||||
EekModifierType modifiers,
|
|
||||||
gboolean pressed,
|
gboolean pressed,
|
||||||
uint32_t timestamp)
|
uint32_t timestamp)
|
||||||
{
|
{
|
||||||
@ -142,5 +136,5 @@ emit_key_activated (EekboardContextService *manager,
|
|||||||
emitter.virtual_keyboard = manager->virtual_keyboard;
|
emitter.virtual_keyboard = manager->virtual_keyboard;
|
||||||
emitter.keymap = keyboard->keymap;
|
emitter.keymap = keyboard->keymap;
|
||||||
update_modifier_info (&emitter);
|
update_modifier_info (&emitter);
|
||||||
send_fake_key (&emitter, keyboard, keycode, modifiers, pressed, timestamp);
|
send_fake_key (&emitter, keyboard, keycode, pressed, timestamp);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -41,6 +41,5 @@ enum mod_indices {
|
|||||||
void
|
void
|
||||||
emit_key_activated (EekboardContextService *manager, LevelKeyboard *keyboard,
|
emit_key_activated (EekboardContextService *manager, LevelKeyboard *keyboard,
|
||||||
guint keycode,
|
guint keycode,
|
||||||
guint modifiers,
|
|
||||||
gboolean pressed, uint32_t timestamp);
|
gboolean pressed, uint32_t timestamp);
|
||||||
#endif // KEYEMITTER_H
|
#endif // KEYEMITTER_H
|
||||||
|
|||||||
Reference in New Issue
Block a user