summaryrefslogtreecommitdiff
path: root/extra/rdesktop
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
commit415856bdd4f48ab4f2732996f0bae58595092bbe (patch)
treeede2018b591f6dfb477fe9341ba17b9bc000fab9 /extra/rdesktop
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'extra/rdesktop')
-rw-r--r--extra/rdesktop/PKGBUILD30
-rw-r--r--extra/rdesktop/rdesktop-send_physical_buttons.diff70
2 files changed, 100 insertions, 0 deletions
diff --git a/extra/rdesktop/PKGBUILD b/extra/rdesktop/PKGBUILD
new file mode 100644
index 000000000..bdcd3a283
--- /dev/null
+++ b/extra/rdesktop/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 77123 2010-04-10 21:21:07Z andrea $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Dan McGee <dan@archlinux.org>
+
+pkgname=rdesktop
+pkgver=1.6.0
+pkgrel=5
+depends=('libx11' 'openssl' 'libao' 'libsamplerate')
+pkgdesc="Is used to connect to windows terminal servers"
+url="http://www.rdesktop.org/"
+license=('GPL')
+arch=('i686' 'x86_64')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
+ 'rdesktop-send_physical_buttons.diff')
+md5sums=('c6fcbed7f0ad7e60ac5fcb2d324d8b16'
+ '880d3aeac67b901e6bf44d1323374768')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ patch -i ${srcdir}/rdesktop-send_physical_buttons.diff || return 1
+
+ ./configure --prefix=/usr
+ make || return 1
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install || return 1
+}
diff --git a/extra/rdesktop/rdesktop-send_physical_buttons.diff b/extra/rdesktop/rdesktop-send_physical_buttons.diff
new file mode 100644
index 000000000..8e0f6cee7
--- /dev/null
+++ b/extra/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 "Au:L:d:s:c:p:n:k:g:fbBeEmzCDKS:T:NX:a:x:Pr:045h?")) != -1)
++ VNCOPT "Au:L:d:s:c:p:n:k:g:fbBeEMmzCDKS: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;
+
+