diff options
Diffstat (limited to 'community/rdesktop')
-rw-r--r-- | community/rdesktop/PKGBUILD | 36 | ||||
-rw-r--r-- | community/rdesktop/rdesktop-send_physical_buttons.diff | 70 |
2 files changed, 106 insertions, 0 deletions
diff --git a/community/rdesktop/PKGBUILD b/community/rdesktop/PKGBUILD new file mode 100644 index 000000000..9ed9c79c0 --- /dev/null +++ b/community/rdesktop/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 101267 2013-11-21 12:16:40Z bpiotrowski $ +# Maintainer: +# Contributor: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Dan McGee <dan@archlinux.org> + +pkgname=rdesktop +pkgver=1.8.1 +pkgrel=1 +pkgdesc="An open source client for Windows Remote Desktop Services" +arch=('i686' 'x86_64') +url="http://www.rdesktop.org/" +license=('GPL3') +depends=('libao' 'libsamplerate' 'xorg-xrandr' 'pcsclite') +source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz" + rdesktop-send_physical_buttons.diff) +sha1sums=('57bb41f98ddf9eeef875c613d790fee37971d0f8' + '809a9dc11ad4f704f79fc4bc2a70b76a4f42596d') + +prepare() { + cd ${pkgname}-${pkgver} + # FS#15113 + patch -i "${srcdir}/rdesktop-send_physical_buttons.diff" +} + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr \ + --enable-smartcard \ + --with-ipv6 + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install +} diff --git a/community/rdesktop/rdesktop-send_physical_buttons.diff b/community/rdesktop/rdesktop-send_physical_buttons.diff new file mode 100644 index 000000000..69620988f --- /dev/null +++ b/community/rdesktop/rdesktop-send_physical_buttons.diff @@ -0,0 +1,70 @@ +? aclocal.m4 +Index: rdesktop.c +=================================================================== +RCS file: /cvsroot/rdesktop/rdesktop/rdesktop.c,v +retrieving revision 1.163 +diff -u -r1.163 rdesktop.c +--- rdesktop.c 5 Apr 2008 06:15:45 -0000 1.163 ++++ rdesktop.c 5 Aug 2008 11:46:04 -0000 +@@ -73,6 +73,7 @@ + int g_win_button_size = 0; /* If zero, disable single app mode */ + RD_BOOL g_bitmap_compression = True; + RD_BOOL g_sendmotion = True; ++RD_BOOL g_send_physical_buttons = True; + RD_BOOL g_bitmap_cache = True; + RD_BOOL g_bitmap_cache_persist_enable = False; + RD_BOOL g_bitmap_cache_precache = True; +@@ -152,6 +153,7 @@ + fprintf(stderr, " -B: use BackingStore of X-server (if available)\n"); + fprintf(stderr, " -e: disable encryption (French TS)\n"); + fprintf(stderr, " -E: disable encryption from client to server\n"); ++ fprintf(stderr, " -M: do not map logical mouse buttons to physical\n"); + fprintf(stderr, " -m: do not send motion events\n"); + fprintf(stderr, " -C: use private colour map\n"); + fprintf(stderr, " -D: hide window manager decorations\n"); +@@ -450,7 +452,7 @@ + #endif + + while ((c = getopt(argc, argv, +- VNCOPT "A:u:L:d:s:c:p:n:k:g:o:fbBeEitmzCDKS:T:NX:a:x:Pr:045h?")) != -1) ++ VNCOPT "A:u:L:d:s:c:p:n:k:g:o:fbBeEitMmzCDKS:T:NX:a:x:Pr:045h?")) != -1) + { + switch (c) + { +@@ -584,6 +586,9 @@ + case 'E': + g_packet_encryption = False; + break; ++ case 'M': ++ g_send_physical_buttons = False; ++ break; + case 'm': + g_sendmotion = False; + break; +Index: xwin.c +=================================================================== +RCS file: /cvsroot/rdesktop/rdesktop/xwin.c,v +retrieving revision 1.235 +diff -u -r1.235 xwin.c +--- xwin.c 11 Jul 2008 03:51:23 -0000 1.235 ++++ xwin.c 5 Aug 2008 11:46:06 -0000 +@@ -36,6 +36,7 @@ + extern int g_ypos; + extern int g_pos; + extern RD_BOOL g_sendmotion; ++extern RD_BOOL g_send_physical_buttons; + extern RD_BOOL g_fullscreen; + extern RD_BOOL g_grab_keyboard; + extern RD_BOOL g_hide_decorations; +@@ -2190,7 +2191,8 @@ + receive physical buttons (true in mstsc as well) and + logical button behavior depends on the remote desktop's own + mouse settings */ +- xevent.xbutton.button = g_pointer_log_to_phys_map[xevent.xbutton.button - 1]; ++ if (g_send_physical_buttons) ++ xevent.xbutton.button = g_pointer_log_to_phys_map[xevent.xbutton.button - 1]; + button = xkeymap_translate_button(xevent.xbutton.button); + if (button == 0) + return; + + |