[gnome-remote-desktop/mcatanzaro/libxkbcommon-revert] Revert "session-rdp: Add support for unicode input"
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-remote-desktop/mcatanzaro/libxkbcommon-revert] Revert "session-rdp: Add support for unicode input"
- Date: Tue, 12 Jan 2021 19:11:33 +0000 (UTC)
commit 9602ee684c354a038e9775cb0603983255ba86e8
Author: Michael Catanzaro <mcatanzaro gnome org>
Date: Tue Jan 12 13:11:15 2021 -0600
Revert "session-rdp: Add support for unicode input"
This reverts commit 0caf5b1a14c76f179faeb2936eaa5f7cfaf450b5.
See discussion on:
https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/commit/0caf5b1a14c76f179faeb2936eaa5f7cfaf450b5
meson.build | 2 --
src/grd-session-rdp.c | 60 +--------------------------------------------------
src/meson.build | 3 +--
3 files changed, 2 insertions(+), 63 deletions(-)
---
diff --git a/meson.build b/meson.build
index 6a0c905..af423a4 100644
--- a/meson.build
+++ b/meson.build
@@ -5,7 +5,6 @@ project('gnome-remote-desktop', 'c',
'buildtype=debugoptimized'])
freerdp_req = '>= 2.2.0'
-xkbcommon_req = '>= 1.0.0'
gnome = import('gnome')
@@ -21,7 +20,6 @@ libvncclient_dep = dependency('libvncclient')
libsecret_dep = dependency('libsecret-1')
libnotify_dep = dependency('libnotify')
winpr_dep = dependency('winpr2', version: freerdp_req)
-xkbcommon_dep = dependency('xkbcommon', version: xkbcommon_req)
cdata = configuration_data()
cdata.set_quoted('GETTEXT_PACKAGE', 'gnome-remote-desktop')
diff --git a/src/grd-session-rdp.c b/src/grd-session-rdp.c
index 8714346..bb44a0f 100644
--- a/src/grd-session-rdp.c
+++ b/src/grd-session-rdp.c
@@ -25,7 +25,6 @@
#include <freerdp/peer.h>
#include <gio/gio.h>
#include <linux/input-event-codes.h>
-#include <xkbcommon/xkbcommon.h>
#include "grd-context.h"
#include "grd-damage-utils.h"
@@ -79,8 +78,6 @@ struct _GrdSessionRdp
uint16_t pointer_x;
uint16_t pointer_y;
- GHashTable *pressed_unicode_keys;
-
GThreadPool *thread_pool;
GCond pending_jobs_cond;
GMutex pending_jobs_mutex;
@@ -1014,34 +1011,15 @@ rdp_peer_refresh_region (freerdp_peer *peer,
++rdp_peer_context->frame_id;
}
-static gboolean
-notify_keysym_released (gpointer key,
- gpointer value,
- gpointer user_data)
-{
- GrdSession *session = (GrdSession *) user_data;
- xkb_keysym_t keysym = GPOINTER_TO_UINT (key);
-
- grd_session_notify_keyboard_keysym (session, keysym, GRD_KEY_STATE_RELEASED);
-
- return TRUE;
-}
-
static BOOL
rdp_input_synchronize_event (rdpInput *rdp_input,
uint32_t flags)
{
RdpPeerContext *rdp_peer_context = (RdpPeerContext *) rdp_input->context;
- GrdSessionRdp *session_rdp = rdp_peer_context->session_rdp;
- GrdSession *session = GRD_SESSION (session_rdp);
if (!(rdp_peer_context->flags & RDP_PEER_ACTIVATED))
return TRUE;
- g_hash_table_foreach_remove (session_rdp->pressed_unicode_keys,
- notify_keysym_released,
- session);
-
return TRUE;
}
@@ -1157,44 +1135,15 @@ rdp_input_keyboard_event (rdpInput *rdp_input,
static BOOL
rdp_input_unicode_keyboard_event (rdpInput *rdp_input,
uint16_t flags,
- uint16_t code_utf16)
+ uint16_t code)
{
RdpPeerContext *rdp_peer_context = (RdpPeerContext *) rdp_input->context;
GrdSessionRdp *session_rdp = rdp_peer_context->session_rdp;
- GrdSession *session = GRD_SESSION (session_rdp);
- uint32_t *code_utf32;
- xkb_keysym_t keysym;
- GrdKeyState key_state;
if (!(rdp_peer_context->flags & RDP_PEER_ACTIVATED) ||
is_view_only (session_rdp))
return TRUE;
- code_utf32 = g_utf16_to_ucs4 (&code_utf16, 1, NULL, NULL, NULL);
- if (!code_utf32)
- return TRUE;
-
- keysym = xkb_utf32_to_keysym (*code_utf32);
- g_free (code_utf32);
-
- key_state = flags & KBD_FLAGS_DOWN ? GRD_KEY_STATE_PRESSED
- : GRD_KEY_STATE_RELEASED;
-
- if (flags & KBD_FLAGS_DOWN)
- {
- if (!g_hash_table_add (session_rdp->pressed_unicode_keys,
- GUINT_TO_POINTER (keysym)))
- return TRUE;
- }
- else
- {
- if (!g_hash_table_remove (session_rdp->pressed_unicode_keys,
- GUINT_TO_POINTER (keysym)))
- return TRUE;
- }
-
- grd_session_notify_keyboard_keysym (session, keysym, key_state);
-
return TRUE;
}
@@ -1387,7 +1336,6 @@ init_rdp_session (GrdSessionRdp *session_rdp,
rdp_settings->NSCodec = TRUE;
rdp_settings->FrameMarkerCommandEnabled = TRUE;
rdp_settings->SurfaceFrameMarkerEnabled = TRUE;
- rdp_settings->UnicodeInput = TRUE;
peer->Capabilities = rdp_peer_capabilities;
peer->PostConnect = rdp_peer_post_connect;
@@ -1541,10 +1489,6 @@ grd_session_rdp_stop (GrdSession *session)
freerdp_peer_context_free (peer);
freerdp_peer_free (peer);
- g_hash_table_foreach_remove (session_rdp->pressed_unicode_keys,
- notify_keysym_released,
- session);
-
g_clear_pointer (&session_rdp->last_frame, g_free);
g_hash_table_foreach_remove (session_rdp->pointer_cache,
clear_pointer_bitmap,
@@ -1605,7 +1549,6 @@ grd_session_rdp_dispose (GObject *object)
{
GrdSessionRdp *session_rdp = GRD_SESSION_RDP (object);
- g_clear_pointer (&session_rdp->pressed_unicode_keys, g_hash_table_unref);
g_clear_pointer (&session_rdp->pointer_cache, g_hash_table_unref);
G_OBJECT_CLASS (grd_session_rdp_parent_class)->dispose (object);
@@ -1641,7 +1584,6 @@ static void
grd_session_rdp_init (GrdSessionRdp *session_rdp)
{
session_rdp->pointer_cache = g_hash_table_new (NULL, are_pointer_bitmaps_equal);
- session_rdp->pressed_unicode_keys = g_hash_table_new (NULL, NULL);
g_cond_init (&session_rdp->pending_jobs_cond);
g_mutex_init (&session_rdp->pending_jobs_mutex);
diff --git a/src/meson.build b/src/meson.build
index 5dc54ae..1b6425d 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -66,8 +66,7 @@ executable('gnome-remote-desktop-daemon',
libvncserver_dep,
libsecret_dep,
libnotify_dep,
- winpr_dep,
- xkbcommon_dep],
+ winpr_dep],
include_directories: [configinc],
install: true,
install_dir: libexecdir)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]