Запуск окон wayland на Return

This commit is contained in:
2025-11-17 13:45:23 +03:00
parent b8ebf31762
commit c21df94757
2 changed files with 15 additions and 4 deletions

View File

@@ -1,4 +1,5 @@
#include "input-handle.h"
#include "wayland-runtime.h"
void keyboard_key_handle(xkb_keycode_t kc, xkb_keysym_t ks, enum keyboard_key_state state, struct wayland_window *window)
{
@@ -6,11 +7,23 @@ void keyboard_key_handle(xkb_keycode_t kc, xkb_keysym_t ks, enum keyboard_key_st
{
char buf[64];
int n = xkb_keysym_to_utf8(ks, buf, sizeof(buf));
if (ks == XKB_KEY_Return)
sprintf(buf, "Return");
if (n > 0)
printf("keyboard: symbol '%s' (keysym 0x%x) on surface:%p\n", buf, ks, window);
else
printf("keyboard: keysym 0x%x (no UTF-8 representation)\n", ks);
if(state == KEYBOARD_KEY_STATE_PRESSED)
{
switch (ks)
{
case XKB_KEY_Return:
run_window();
break;
default:
break;
}
}
}
}

View File

@@ -53,7 +53,6 @@ static void *window_thread_main(void *arg)
if (window_init(g_display, slot->queue, &slot->window) < 0)
{
input_cleanup();
wl_event_queue_destroy(slot->queue);
slot->queue = NULL;
signal_thread_exit(slot);
@@ -73,7 +72,6 @@ static void *window_thread_main(void *arg)
}
printf("Window #%d closed\n", slot->window.id);
input_cleanup();
window_destroy(&slot->window);
if (slot->queue)