[Scummvm-cvs-logs] SF.net SVN: scummvm:[53080] scummvm/branches/branch-1-2-0/backends/platform /maemo

fanoush at users.sourceforge.net fanoush at users.sourceforge.net
Fri Oct 8 21:33:05 CEST 2010


Revision: 53080
          http://scummvm.svn.sourceforge.net/scummvm/?rev=53080&view=rev
Author:   fanoush
Date:     2010-10-08 19:33:05 +0000 (Fri, 08 Oct 2010)

Log Message:
-----------
renamed for 1.2.0

Added Paths:
-----------
    scummvm/branches/branch-1-2-0/backends/platform/maemo/scummvm-1.2-maemo.patch

Removed Paths:
-------------
    scummvm/branches/branch-1-2-0/backends/platform/maemo/scummvm-1.1.0-maemo.patch

Deleted: scummvm/branches/branch-1-2-0/backends/platform/maemo/scummvm-1.1.0-maemo.patch
===================================================================
--- scummvm/branches/branch-1-2-0/backends/platform/maemo/scummvm-1.1.0-maemo.patch	2010-10-08 19:31:53 UTC (rev 53079)
+++ scummvm/branches/branch-1-2-0/backends/platform/maemo/scummvm-1.1.0-maemo.patch	2010-10-08 19:33:05 UTC (rev 53080)
@@ -1,1363 +0,0 @@
-diff -Naur branch-1-2-0.orig/debian/changelog branch-1-2-0/debian/changelog
---- branch-1-2-0.orig/debian/changelog	1970-01-01 01:00:00.000000000 +0100
-+++ branch-1-2-0/debian/changelog	2010-10-08 20:59:27.000000000 +0200
-@@ -0,0 +1,211 @@
-+scummvm (1.1.0~pre) unstable; urgency=low
-+
-+  * 1.1.0 testing release
-+  * cleanup for N900 (new firmwares need less hacks)
-+  * unified binary for all devices now have datafiles included (~2MB)
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed, 24 Mar 2010 01:48:05 +0100
-+scummvm (1.0.0-4) unstable; urgency=low
-+
-+  * datadir optified (/usr/share/scummvm -> /opt/scummvm/share)
-+  * added engine files to datadir
-+  * Application Manager icon enlarged to 48x48
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Thu, 17 Dec 2009 13:54:51 +0100
-+scummvm (1.0.0-3) unstable; urgency=low
-+
-+  * disable taskmanager topleft button in fullscreen mode (N900)
-+  * map shift+click to right button click
-+  * mam ctrl+click to mouse move (no click)
-+  * set fullscreen window as _HILDON_NON_COMPOSITED_WINDOW (N900)
-+  
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Tue, 15 Dec 2009 23:12:51 +0100
-+scummvm (1.0.0-2) unstable; urgency=low
-+
-+  * grab N900 volume keys
-+  * map Shift+Backspace to Escape key, shift+enter to Menu key (N900)
-+  * optified = main binary moved to /opt/scummvm/bin/scummvm
-+  
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Sat, 12 Dec 2009 23:39:04 +0100
-+scummvm (1.0.0-1) unstable; urgency=low
-+
-+  * -mcpu=arm1136j-s -mfpu=vfp -mfloat-abi=softfp breaks Gobliins, reverted
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed,  2 Dec 2009 10:25:11 +0100
-+scummvm (1.0.0) unstable; urgency=low
-+
-+  * upstream 1.0 release
-+  * Initial support for N900
-+  
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Fri,  6 Nov 2009 22:02:25 +0100
-+scummvm (1.0.0~rc1-3) unstable; urgency=low
-+
-+  * updated to 1.0 branch revision 43999 to fix bugs (Cruise pause, ..)
-+  * Cruise for Corpse mapping added to zoom+ for N800/770
-+  
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Mon,  7 Sep 2009 09:03:13 +0200
-+scummvm (1.0.0~rc1-2) unstable; urgency=low
-+
-+  * Cruise for Corpse key bindings added
-+   - menu key for menu, zoom-=right click, zoom+=context menu
-+  
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed,  2 Sep 2009 23:03:59 +0200
-+scummvm (1.0.0~rc1-1) unstable; urgency=low
-+
-+  * Discworld key bindings added - menu key for menu, zoom-=right click, zoom+=Enter/y key
-+  
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed,  2 Sep 2009 09:53:08 +0200
-+scummvm (1.0.0~rc1) unstable; urgency=low
-+
-+  * upstream 1.0.0rc1 release
-+  
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Thu, 20 Aug 2009 23:33:59 +0200
-+scummvm (0.13.1) unstable; urgency=low
-+
-+  * upstream 0.13.1 release
-+  
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Sat, 18 Apr 2009 22:40:42 +0200
-+scummvm (0.13.0-2) unstable; urgency=low
-+
-+  * dbus_service.patch is incomplete - needs also install line in debian/rules
-+  
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Fri, 27 Feb 2009 20:37:29 +0100
-+scummvm (0.13.0-1) unstable; urgency=low
-+
-+  * fix crash in task switcher caption code when .scummvmrc had fullscreen value set
-+  * enabled also dbus_service.patch for home key switching back (not needed in OS < 2008)
-+  
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Fri, 27 Feb 2009 09:29:01 +0100
-+scummvm (0.13.0) unstable; urgency=low
-+
-+  * upstream 0.13.0 release
-+  * Feeble Files mapping
-+  * task switcher item name patch from mikkov
-+  
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed, 18 Feb 2009 21:52:33 +0100
-+scummvm (0.11.99-4) unstable; urgency=low
-+
-+  * Maemo extras-devel test version
-+    - maemo-taskswitcher.patch: title shown right from the beginning
-+      and title not fixed to "ScummVM" only
-+    - dbus_service.patch: modify scummvm.desktop, scummvm.wrapper and
-+      scummvm.service to make switching application automatically back 
-+      via second home key long press to work
-+
-+ -- Mikko Vartiainen <mvartiainen at gmail.com>  Thu, 03 Jan 2009 01:59:52 +0200
-+scummvm (0.11.99-3) unstable; urgency=low
-+
-+  * Maemo extras-devel test version
-+    - maemo-taskswitcher.patch
-+  
-+ -- Mikko Vartiainen <mvartiainen at gmail.com>  Thu, 01 Jan 2009 13:13:13 +0200
-+scummvm (0.11.99-2) unstable; urgency=low
-+
-+  * Maemo extras-devel test version
-+    - keeping version below 0.12.0
-+    - not in user/ category
-+  
-+ -- Mikko Vartiainen <mvartiainen at gmail.com>  Thu, 01 Jan 2009 02:04:14 +0200
-+scummvm (0.12.0) unstable; urgency=low
-+
-+  * upstream 0.12.0 release
-+  * update description
-+  
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Mon, 25 Aug 2008 21:47:41 +0200
-+scummvm (0.11.99) unstable; urgency=low
-+
-+  * upstream 0.12.0 testing pre-release
-+  * big icons added for OS2008 menu
-+  
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Fri, 22 Aug 2008 08:20:48 +0200
-+scummvm (0.11.1) unstable; urgency=low
-+
-+  * upstream 0.11.1 release
-+  * mapping for N810: zoom+ = menu for all games (except FW)
-+  
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Sat, 23 Feb 2008 20:41:37 +0100
-+scummvm (0.11.0-2) unstable; urgency=low
-+
-+  * mapping for N800/770: zoom+ = y, zoom- = 1 (all games except FW)
-+    this fixes save dialog in BS1 and also allows to exit some games via 'y'
-+  * mapping for N810: zoom- = rightclick for all games
-+  * updated to revision 30849 from 0.11 branch (some bugfixes for 0.11.1)
-+  
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Mon, 11 Feb 2008 22:22:48 +0100
-+scummvm (0.11.0-1) unstable; urgency=low
-+
-+  * theme files added back
-+  * SWORD2,SAGA - added zoom keys =1/2 for saved games
-+  * different mapping for N810 rightclick=zoom-,menu=zoom+ (currently only in LURE)
-+  * added NEWS README COPYRIGHT do doc dir as per scummvm project guidelines
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Sun, 13 Jan 2008 22:58:41 +0100
-+scummvm (0.11.0-0) unstable; urgency=low
-+
-+  * upstream 0.11 release
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Sat, 12 Jan 2008 22:26:34 +0100
-+scummvm (0.10.0-5) unstable; urgency=low
-+
-+  * fixed for chinook, menu selection postinst script added
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Thu, 25 Oct 2007 09:56:32 +0200
-+scummvm (0.10.0-4) unstable; urgency=low
-+
-+  * AGI - added pred.dic to DATA_PATH (=/usr/share/scummvm) to enable
-+    predictive input
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Tue, 28 Aug 2007 09:58:29 +0200
-+scummvm (0.10.0-3) unstable; urgency=low
-+
-+  * SCUMM - added mapping also for key up events (may fix right button in FT?)
-+  * SWORD2 - added right button press mapping (not tested)
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Mon, 20 Aug 2007 22:39:07 +0200
-+scummvm (0.10.0-2) unstable; urgency=low
-+
-+  * Future Wars - add mapping for left/up/down/right,zoom +/-
-+  * fix SDL backend to set mouse position on button down event
-+    as we may not have mousemove events with touchscreen
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Fri, 13 Jul 2007 09:56:37 +0200
-+scummvm (0.10.0-1) unstable; urgency=low
-+
-+  * mapped F10 in Future Wars to menu key
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed, 11 Jul 2007 22:20:00 +0200
-+scummvm (0.10.0) unstable; urgency=low
-+
-+  * upstream 0.10 release, enabled FLAC too
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed,  4 Jul 2007 12:48:48 +0200
-+scummvm (0.9.1-1) unstable; urgency=low
-+
-+  * 0.9.1 mapped right mouse button in sword1
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Mon, 18 Jun 2007 21:15:31 +0200
-+scummvm (0.9.1) unstable; urgency=low
-+
-+  * 0.9.1 upstream release
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed,  1 Nov 2006 20:40:51 +0100
-+scummvm (0.9.0-3) unstable; urgency=low
-+
-+  * merged fixes in 0.9.0 upstream branch
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Mon,  9 Oct 2006 15:40:59 +0200
-+scummvm (0.9.0-2) unstable; urgency=low
-+
-+  * merged fixes in 0.9.0 upstream branch
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Sat, 12 Aug 2006 20:10:47 +0200
-+scummvm (0.9.0-1) unstable; urgency=low
-+
-+  * merged changes in 0.9.0 upstream release
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Sun, 23 Jul 2006 22:29:51 +0200
-+scummvm (0.9.0) unstable; urgency=low
-+
-+  * 0.9.0 upstream release
-+
-+ -- Frantisek Dufka <dufkaf at seznam.cz>  Tue, 27 Jun 2006 20:30:54 +0200
-diff -Naur branch-1-2-0.orig/debian/compat branch-1-2-0/debian/compat
---- branch-1-2-0.orig/debian/compat	1970-01-01 01:00:00.000000000 +0100
-+++ branch-1-2-0/debian/compat	2010-10-08 20:59:27.000000000 +0200
-@@ -0,0 +1 @@
-+4
-diff -Naur branch-1-2-0.orig/debian/control branch-1-2-0/debian/control
---- branch-1-2-0.orig/debian/control	1970-01-01 01:00:00.000000000 +0100
-+++ branch-1-2-0/debian/control	2010-10-08 20:59:27.000000000 +0200
-@@ -0,0 +1,51 @@
-+Source: scummvm
-+Section: user/games
-+Priority: optional
-+Maintainer: Frantisek Dufka <dufkaf at seznam.cz>
-+Build-Depends: debhelper (>> 4.0.0), libsdl1.2-dev, libmad0-dev, libasound2-dev, libvorbisidec-dev, libmpeg2-4-dev, libflac-dev (>= 1.1.2), libz-dev, quilt
-+
-+Standards-Version: 3.6.1.1
-+Package: scummvm
-+Depends: ${shlibs:Depends}
-+Architecture: i386 armel
-+Section: user/games
-+Description: interpreter that will play graphic adventure games
-+ written for LucasArts' SCUMM virtual machine, Sierra's AGI adventures,
-+ Adventure Soft's Simon the Sorcerer 1, 2 and Feeble Files,
-+ Revolution Software's Beneath a Steel Sky and Broken Sword 1 and 2,
-+ Interactive Binary Illusions' Flight of the Amazon Queen,
-+ Coktel Vision's Gobliiins, Wyrmkeep's Inherit the Earth,
-+ Westwood's Legend of Kyrandia, and various others.
-+ This package does not contain any actual games.
-+XBS-Maemo-Icon-26:
-+  iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAC/VBMVEUICwcH
-+  CQUKDAgLDQoMDwsOEAwREAUPEQ0QEg8PFQoRExAUEwoVFAwPGAcTFBIRFg0W
-+  FQ0XFg4RGgkTGA8XGQsTGwwUHA0aGRIWGxMXHQkVHQ8aGhMbGxQcHQocGxUZ
-+  HwsYIgcfHxgeIRUbJQwhIBofJAweJwgfKQocKwwgKgshKw0gLggfLg8jLQ8n
-+  LwwpLhEmMwcoMRQjNgotLCYmNwQlNwwqOBQtOQgsOQ8xNh4sPQswNyQqQAUw
-+  PAsuOiAsQgcwOyIqRgIsSAQvRgs0PyY1Rg06RA0+PDAwSwg2RxUzTQE4TQsz
-+  VAc/SSo6VAk4VwE6VRM2XAVAUC85XwlJVCNEXQo+YwJGXwxMWS1JXC5AagBI
-+  awJUagRIcQBSbwpHeAJTaD9OdwNXcwJKewZNfABacRlOfQBPfgBQfwBMggBW
-+  fgBNgwNSgQJOhAVecUJjdSZefwNUiABZhgBjeDZieDxhezFQjQBgghZkhQ5j
-+  iQJUkAZcixJmgDZnhCtckQpblgBekw5clwBqgkthlQBdmAJriz90hz5omgBs
-+  mAhxlgd0mAB5lgBpnA16khdzmAtxnABooQBtnwB4jUpzngBkpQR5nQF8j0Vr
-+  pQduoRZ4nRR3k014oQBzpAt8oAh/ogBvqA5trACBmypwqRF1pw+GogCAow+D
-+  pQB8phJ/nUNurxh0rRd4rwmHqQd6qDOArwCJqwyDsgCMrgB8ryiFtAB7uQN8
-+  sDKBuAWOsBWJqFR8ti2IsiOSswaBuRt6vxCOtgqXsgePrjR9wQCFuw2KuQyB
-+  uSeSuACEux6JuR2OvACAxACEvCuSuhOHujSMwQGTtiqfuACRvwGOvRWHuz2T
-+  wASPwwmYvwaLvTebuxiWvhmSwBqZwAmNu0aevgiKvkCVviaMvE6bwQycuTid
-+  vhylvQyZwB2cwg+QywCawR6fwB+bwyGI0gaewCudxCOjwyOT1ACmwjiX0g+j
-+  xTqmxzOd1gCV0i6kyyuoyTah1Sif2h6tzjukzF+pz1uq1Eeg2Uml3U1kaLAB
-+  AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAHrSURBVCjPY2BAAC5ubkFB
-+  BkzAzggDfKgSUFEmKCmOIsPvktA0aVpbSYQ+FwsjkwpMBsi2m/X7z89v3759
-+  +ngg1UqIlZEVponJYcW/rw9unH/04u2bc0vbo+WZWGCahEv/fj+6Yc2SZfv3
-+  b5w6+eACHVYWmCazMz+unN44b3ZfV3dnx5yDiaKsUAOZGD2/fL58+PSGg3Gu
-+  buEVWyZacLCzw6S8X324fOHqibMxWpKy5okBIjAZoNOt9r47e+HOnafbe/ND
-+  DNWkOGAyDKwsCtXPTly4eufqm+fvHy4M1RRggsnJMLI6z9x99Oqtx7cuPP/2
-+  ele5LjtCGyObbcHcDfuevHn+5s319RuSpOByrEwcwsqhlcvXHbp38+LxiXP6
-+  DeBSTKzWvkrCun5Zq04dO7S6p67ZHibFziiRt6PYUk5YtfbUqSMTGnKyHaFS
-+  rMDA3fHr7tqayKDWa0dWVmXHp5lCpRgZ2QI2HTl25NLt+1t3rppRFJ8SrwGX
-+  4g9rmbJo0cpVqxZNaK5OS0nzF4NLMWkHZ1TVN9bXlxXmAo2L0uNgZITaxcjI
-+  axAYH5+RATQrPtZHk5udA+Z2cIpQN3Hy8vOwMVLmYGTidoenDSawLAsnJz8L
-+  kMUiY4ySpviYoKmKRVAcIyXKyIiLyygi+ADqVqrAkApevwAAAABJRU5ErkJg
-+  gg==
-diff -Naur branch-1-2-0.orig/debian/copyright branch-1-2-0/debian/copyright
---- branch-1-2-0.orig/debian/copyright	1970-01-01 01:00:00.000000000 +0100
-+++ branch-1-2-0/debian/copyright	2010-10-08 20:59:27.000000000 +0200
-@@ -0,0 +1,20 @@
-+ScummVM was debianized by Bastien Nocera <hadess at hadess.net> the 5th Apr 2002.
-+It was adopted by Tore Anderson <tore at linpro.no> the 4th Oct 2002.
-+Packaged for the Maemo platform by Tomas Junnoen <tomas at fs-security.com> Oct 2005
-+Since 0.8.2 packaging for Maemo done by Frantisek Dufka <dufkaf at seznam.cz>
-+
-+It was downloaded from <http://www.scummvm.org/>.
-+
-+Upstream Authors: see AUTHORS file of the ScummVM source distribution.
-+
-+Copyright:
-+
-+ This program is free software; you can redistribute it and/or modify it
-+ under the terms of the GNU General Public License as published by the
-+ Free Software Foundation; either version 2, or (at your option) any
-+ later version.
-+
-+ On Debian GNU/Linux systems, the complete text of the GNU General
-+ Public License can be found in `/usr/share/common-licenses/GPL'.
-+
-+This copyright also applies to the Debian-related build scripts.
-diff -Naur branch-1-2-0.orig/debian/postinst branch-1-2-0/debian/postinst
---- branch-1-2-0.orig/debian/postinst	1970-01-01 01:00:00.000000000 +0100
-+++ branch-1-2-0/debian/postinst	2010-10-08 20:59:27.000000000 +0200
-@@ -0,0 +1,19 @@
-+#! /bin/sh
-+if [ "$1" = "configure"  ] ; then
-+OSVER=$OSSO_VERSION
-+[ -z "$OSVER" -a -f /etc/osso_software_version ] && OSVER=`cat /etc/osso_software_version`
-+OSVER=`echo $OSVER | cut -d _ -f 2`
-+case $OSVER in
-+	2006*|2007*)
-+		#nothing to do
-+		true
-+		;;
-+	*)
-+		#ugly trick, until this icon is removed big icon in menu does not show
-+		[ -f /usr/share/icons/scummvm.xpm ] && rm /usr/share/icons/scummvm.xpm
-+		;;
-+esac
-+	[ -x /usr/bin/gtk-update-icon-cache ] && /usr/bin/gtk-update-icon-cache /usr/share/icons/hicolor
-+	[ -x /usr/bin/maemo-select-menu-location -a -z "$2" ] && /usr/bin/maemo-select-menu-location scummvm.desktop  tana_fi_games
-+fi
-+exit 0
-diff -Naur branch-1-2-0.orig/debian/rules branch-1-2-0/debian/rules
---- branch-1-2-0.orig/debian/rules	1970-01-01 01:00:00.000000000 +0100
-+++ branch-1-2-0/debian/rules	2010-10-08 20:59:27.000000000 +0200
-@@ -0,0 +1,72 @@
-+#!/usr/bin/make -f
-+
-+#include /usr/share/quilt/quilt.make
-+
-+build: scummvm
-+
-+scummvm:
-+	dh_testdir
-+	CXXFLAGS="-Os -mcpu=arm926ej-s -fomit-frame-pointer -DMAEMO_SDL -I/usr/X11R6/include" ./configure --prefix=/usr --disable-debug --disable-mt32emu  --disable-hq-scalers --with-tremor-prefix=/usr --enable-tremor --with-zlib-prefix=/usr --enable-zlib --with-mad-prefix=/usr --enable-mad --enable-flac --disable-alsa --prefix=/opt/scummvm --datadir=/opt/scummvm/share
-+##  --host=arm-linux --enable-plugins --disable-scumm-7-8
-+	$(MAKE)
-+
-+clean:
-+	dh_testdir
-+	dh_testroot
-+	-$(MAKE) distclean
-+	dh_clean
-+
-+install: build
-+	dh_testdir
-+	dh_testroot
-+	dh_clean
-+	dh_installdirs
-+# not as a service
-+#	install -m0755 dists/maemo/scummvm.wrapper debian/scummvm/usr/games/scummvm
-+#	install -m0644 dists/maemo/scummvm.desktop debian/scummvm/usr/share/applications/hildon
-+# run as fake dbus-service to enable switching back to application from desktop via home key
-+	install -m0755 dists/maemo/scummvm.servicewrapper debian/scummvm/usr/games/scummvm
-+	install -m0644 dists/maemo/scummvm.servicedesktop debian/scummvm/usr/share/applications/hildon/scummvm.desktop
-+	install -m0644 dists/maemo/scummvm.service debian/scummvm/usr/share/dbus-1/services
-+# end of fake dbus service
-+	install -m0644 dists/maemo/scummvm26.png debian/scummvm/usr/share/icons/hicolor/26x26/hildon/scummvm.png
-+	install -m0644 dists/maemo/scummvm40.png debian/scummvm/usr/share/icons/hicolor/40x40/hildon/scummvm.png
-+	install -m0644 dists/maemo/scummvm48.png debian/scummvm/usr/share/icons/hicolor/48x48/hildon/scummvm.png
-+	install -m0644 dists/maemo/scummvm64.png debian/scummvm/usr/share/icons/hicolor/64x64/hildon/scummvm.png
-+	install -m0644 icons/scummvm.xpm debian/scummvm/usr/share/icons
-+#	install -m0644 -d debian/scummvm/usr/lib/scummvm
-+#	install -m0644 plugins/lib*.so debian/scummvm/usr/lib/scummvm
-+##non-optified version
-+#	install -m0755 scummvm debian/scummvm/usr/games/scummvm.bin
-+#	install -m0644 -d debian/scummvm/usr/share/scummvm
-+#	install -m0644 dists/pred.dic debian/scummvm/usr/share/scummvm
-+#	install -m0644 gui/themes/scummclassic.zip  gui/themes/scummmodern.zip debian/scummvm/usr/share/scummvm
-+# optified version (save rootfs space on N900), see also configure prefix and datadir paths above
-+	install -m0644 -d debian/scummvm/opt/scummvm/bin
-+	install -m0755 scummvm debian/scummvm/opt/scummvm/bin
-+	install -m0644 -d debian/scummvm/opt/scummvm/share
-+	install -m0644 dists/pred.dic debian/scummvm/opt/scummvm/share
-+	install -m0644 gui/themes/scummclassic.zip  gui/themes/scummmodern.zip debian/scummvm/opt/scummvm/share
-+# for optified version we can also add engine datafiles
-+	install -m0644 dists/engine-data/drascula.dat dists/engine-data/kyra.dat dists/engine-data/lure.dat dists/engine-data/queen.tbl dists/engine-data/sky.cpt dists/engine-data/teenagent.dat debian/scummvm/opt/scummvm/share
-+
-+	install -m0644 -d debian/scummvm/usr/share/doc/scummvm
-+	install -m0644 NEWS README COPYRIGHT debian/scummvm/usr/share/doc/scummvm	 
-+binary: binary-arch
-+
-+binary-arch: build install
-+	dh_testdir
-+	dh_testroot
-+	dh_installchangelogs NEWS
-+	dh_link
-+	dh_strip
-+	dh_fixperms
-+	dh_installdeb
-+	dh_shlibdeps
-+	dh_gencontrol
-+	dh_md5sums
-+	dh_builddeb
-+
-+binary-indep:
-+
-+.PHONY: build clean binary install binary-arch binary-indep
-diff -Naur branch-1-2-0.orig/debian/scummvm.dirs branch-1-2-0/debian/scummvm.dirs
---- branch-1-2-0.orig/debian/scummvm.dirs	1970-01-01 01:00:00.000000000 +0100
-+++ branch-1-2-0/debian/scummvm.dirs	2010-10-08 20:59:27.000000000 +0200
-@@ -0,0 +1,8 @@
-+usr/games
-+usr/share/icons
-+usr/share/icons/hicolor/26x26/hildon
-+usr/share/icons/hicolor/40x40/hildon
-+usr/share/icons/hicolor/48x48/hildon
-+usr/share/icons/hicolor/64x64/hildon
-+usr/share/applications/hildon
-+usr/share/dbus-1/services
-\ No newline at end of file
---- branch-1-2-0.orig/configure	2010-10-08 00:43:16.000000000 +0200
-+++ branch-1-2-0/configure	2010-10-08 21:06:36.000000000 +0200
-@@ -180,7 +180,7 @@
- datarootdir='${prefix}/share'
- datadir='${datarootdir}/scummvm'
- docdir='${datarootdir}/doc/scummvm'
--libdir='${exec_prefix}/lib'
-+libdir='${exec_prefix}/lib/scummvm'
- #localedir='${datarootdir}/locale'
- mandir='${datarootdir}/man'
- 
-@@ -2571,7 +2571,7 @@
- 		DEFINES="$DEFINES -DPLUGIN_DIRECTORY=\\\"../plugins\\\""
- 		;;
- 	*)
--		DEFINES="$DEFINES -DPLUGIN_DIRECTORY=\\\"$libdir/scummvm\\\""
-+		DEFINES="$DEFINES -DPLUGIN_DIRECTORY=\\\"$libdir\\\""
- 		;;
- esac
- 
---- branch-1-2-0.orig/engines/kyra/module.mk	2010-10-08 00:36:19.000000000 +0200
-+++ branch-1-2-0/engines/kyra/module.mk	2010-10-08 20:59:27.000000000 +0200
-@@ -96,3 +96,9 @@
- 
- # Include common rules
- include $(srcdir)/rules.mk
-+
-+#ugly workaround, screen.cpp crashes gcc version 3.4.4 (CodeSourcery ARM 2005q3-2) with anything but -O3
-+$(MODULE)/screen.o: $(MODULE)/screen.cpp
-+	$(MKDIR) $(*D)/$(DEPDIR)
-+	$(CXX) -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP $(CXXFLAGS) -O3 $(CPPFLAGS) -c $(<) -o $*.o
-+
---- branch-1-2-0.orig/engines/gob/util.cpp	2010-10-08 00:36:33.000000000 +0200
-+++ branch-1-2-0/engines/gob/util.cpp	2010-10-08 20:59:27.000000000 +0200
-@@ -114,6 +114,10 @@
- 			_mouseButtons = (MouseButtons) (((uint32) _mouseButtons) & ~((uint32) kMouseButtonsRight));
- 			break;
- 		case Common::EVENT_KEYDOWN:
-+#ifdef MAEMO_SDL
-+			if (event.kbd.keycode==Common::KEYCODE_F4)
-+				_mouseButtons = (MouseButtons) (((uint32) _mouseButtons) | ((uint32) kMouseButtonsRight));
-+#endif
- 			if (event.kbd.hasFlags(Common::KBD_CTRL)) {
- 				if (event.kbd.keycode == Common::KEYCODE_f)
- 					_fastMode ^= 1;
-@@ -126,6 +130,10 @@
- 			addKeyToBuffer(event.kbd);
- 			break;
- 		case Common::EVENT_KEYUP:
-+#ifdef MAEMO_SDL
-+			if (event.kbd.keycode==Common::KEYCODE_F4)
-+				_mouseButtons = (MouseButtons) (((uint32) _mouseButtons) & ~((uint32) kMouseButtonsRight));
-+#endif
- 			break;
- 		default:
- 			break;
---- branch-1-2-0.orig/engines/queen/input.cpp	2010-10-08 00:36:50.000000000 +0200
-+++ branch-1-2-0/engines/queen/input.cpp	2010-10-08 20:59:27.000000000 +0200
-@@ -176,7 +176,11 @@
- 		}
- 		break;
- 	case Common::KEYCODE_F1: // use Journal
-+#ifdef MAEMO_SDL
-+	case Common::KEYCODE_F4: // menu key on N770
-+#else
- 	case Common::KEYCODE_F5:
-+#endif
- 		if (_cutawayRunning) {
- 			if (_canQuit) {
- 				_keyVerb = VERB_USE_JOURNAL;
---- branch-1-2-0.orig/engines/sword1/sword1.cpp	2010-10-08 00:37:07.000000000 +0200
-+++ branch-1-2-0/engines/sword1/sword1.cpp	2010-10-08 20:59:27.000000000 +0200
-@@ -708,8 +708,21 @@
- 		while (_eventMan->pollEvent(event)) {
- 			switch (event.type) {
- 			case Common::EVENT_KEYDOWN:
-+#ifdef MAEMO_SDL
-+// map center to right button
-+				if (event.kbd.keycode == 13) {
-+					_mouseState |= BS1R_BUTTON_DOWN;
-+				} else
-+#endif
- 				_keyPressed = event.kbd;
- 				break;
-+#ifdef MAEMO_SDL
-+			case Common::EVENT_KEYUP:
-+				if (event.kbd.keycode == 13) {
-+					_mouseState |= BS1R_BUTTON_UP;
-+				}
-+				break;
-+#endif
- 			case Common::EVENT_MOUSEMOVE:
- 				_mouseCoord = event.mouse;
- 				break;
---- branch-1-2-0.orig/engines/sword2/sword2.cpp	2010-10-08 00:37:21.000000000 +0200
-+++ branch-1-2-0/engines/sword2/sword2.cpp	2010-10-08 20:59:27.000000000 +0200
-@@ -682,11 +682,27 @@
- 						_gameSpeed = 1;
- 				}
- 			}
-+#ifdef MAEMO_SDL
-+// map center to right button
-+			else if (event.kbd.keycode == 13 && !(_inputEventFilter & RD_RIGHTBUTTONDOWN)) {
-+				_mouseEvent.pending = true;
-+				_mouseEvent.buttons = RD_RIGHTBUTTONDOWN;
-+			} else
-+#endif
- 			if (!(_inputEventFilter & RD_KEYDOWN)) {
- 				_keyboardEvent.pending = true;
- 				_keyboardEvent.kbd = event.kbd;
- 			}
- 			break;
-+#ifdef MAEMO_SDL
-+		case Common::EVENT_KEYUP:
-+// map center to right button
-+			if (event.kbd.keycode == 13 && !(_inputEventFilter & RD_RIGHTBUTTONUP)) {
-+				_mouseEvent.pending = true;
-+				_mouseEvent.buttons = RD_RIGHTBUTTONUP;
-+			}
-+			break;
-+#endif
- 		case Common::EVENT_LBUTTONDOWN:
- 			if (!(_inputEventFilter & RD_LEFTBUTTONDOWN)) {
- 				_mouseEvent.pending = true;
---- branch-1-2-0.orig/engines/scumm/input.cpp	2010-10-08 00:38:18.000000000 +0200
-+++ branch-1-2-0/engines/scumm/input.cpp	2010-10-08 20:59:27.000000000 +0200
-@@ -135,7 +135,20 @@
- 			// Normal key press, pass on to the game.
- 			_keyPressed = event.kbd;
- 		}
--
-+#ifdef MAEMO_SDL
-+               switch (_keyPressed.keycode) {
-+                       case Common::KEYCODE_F8: _fastMode ^= 1; break ;// Map F8 (zoom out) to toggle fast mode                                                                                             
-+                       case Common::KEYCODE_F4: _keyPressed.keycode = Common::KEYCODE_F5; _keyPressed.ascii=Common::ASCII_F5 ; break; // map F4 to F5 (menu key)
-+                       case Common::KEYCODE_RETURN: _keyPressed.keycode = Common::KEYCODE_TAB; _keyPressed.ascii=Common::ASCII_TAB ; break; // map Select (return) to Tab (right mouse button)
-+                       default: ;
-+               }
-+               if (_game.version < 7) switch(event.kbd.keycode){
-+                       case Common::KEYCODE_UP: _keyPressed.ascii = ' '; _keyPressed.keycode=Common::KEYCODE_SPACE; break ;// map Up to space (pause game)
-+                       case Common::KEYCODE_DOWN: _keyPressed.ascii ='.'; _keyPressed.keycode=Common::KEYCODE_PERIOD; break ;// map Down to . (skip one line of dialog)
-+                       default: ;
-+               }
-+#endif
-+ 
- 		// FIXME: We are using ASCII values to index the _keyDownMap here,
- 		// yet later one code which checks _keyDownMap will use KEYCODEs
- 		// to do so. That is, we are mixing ascii and keycode values here,
-@@ -151,6 +164,20 @@
- 		break;
- 
- 	case Common::EVENT_KEYUP:
-+#ifdef MAEMO_SDL
-+                       // map keyup with similar rules as keydown
-+                       switch (event.kbd.keycode) {
-+
-+                               case Common::KEYCODE_F4: event.kbd.keycode = Common::KEYCODE_F5; event.kbd.ascii=Common::ASCII_F5 ; break; // map F4 to F5 (menu key)
-+                               case Common::KEYCODE_RETURN: event.kbd.keycode = Common::KEYCODE_TAB; event.kbd.ascii=Common::ASCII_TAB ; break; // map Select (return) to Tab (right mouse button)
-+                               default: ;
-+                       }
-+                       if (_game.version < 7) switch(event.kbd.keycode){
-+                               case Common::KEYCODE_UP: event.kbd.ascii = ' '; event.kbd.keycode=Common::KEYCODE_SPACE; break ;// map Up to space (pause game)
-+                               case Common::KEYCODE_DOWN: event.kbd.ascii ='.'; event.kbd.keycode=Common::KEYCODE_PERIOD; break ;// map Down to . (skip one line of dialog)
-+                               default: ;
-+                       }
-+#endif
- 		if (event.kbd.ascii >= 512) {
- 			debugC(DEBUG_GENERAL, "keyPressed > 512 (%d)", event.kbd.ascii);
- 		} else {
-@@ -513,9 +540,10 @@
- 		if (VAR_SAVELOAD_SCRIPT != 0xFF && _currentRoom != 0)
- 			runScript(VAR(VAR_SAVELOAD_SCRIPT2), 0, 0, 0);
- 
-+#ifndef MAEMO_SDL
- 	} else if (restartKeyEnabled && (lastKeyHit.keycode == Common::KEYCODE_F8 && lastKeyHit.hasFlags(0))) {
- 		confirmRestartDialog();
--
-+#endif
- 	} else if (pauseKeyEnabled && (lastKeyHit.keycode == Common::KEYCODE_SPACE && lastKeyHit.hasFlags(0))) {
- 		pauseGame();
- 
---- branch-1-2-0.orig/engines/scumm/dialogs.cpp	2010-10-08 00:38:18.000000000 +0200
-+++ branch-1-2-0/engines/scumm/dialogs.cpp	2010-10-08 20:59:27.000000000 +0200
-@@ -466,7 +466,11 @@
- }
- 
- void PauseDialog::handleKeyDown(Common::KeyState state) {
-+#ifdef MAEMO_SDL
-+	if (state.ascii == ' ' || state.keycode == Common::KEYCODE_UP )  // Close pause dialog if space or UP key is pressed
-+#else
- 	if (state.ascii == ' ')  // Close pause dialog if space key is pressed
-+#endif
- 		close();
- 	else
- 		ScummDialog::handleKeyDown(state);
-@@ -539,12 +543,19 @@
- }
- 
- void ValueDisplayDialog::handleKeyDown(Common::KeyState state) {
-+#ifdef MAEMO_SDL
-+        if (state.ascii == _incKey || state.ascii == _decKey || state.keycode == 275 || state.keycode == 276) {
-+                if ((state.ascii == _incKey || state.keycode == 275 ) && _value < _max)
-+                        _value++;
-+                else if ((state.ascii == _decKey || state.keycode == 276) && _value > _min)
-+                        _value--;
-+#else
- 	if (state.ascii == _incKey || state.ascii == _decKey) {
- 		if (state.ascii == _incKey && _value < _max)
- 			_value++;
- 		else if (state.ascii == _decKey && _value > _min)
- 			_value--;
--
-+#endif
- 		setResult(_value);
- 		_timer = g_system->getMillis() + kDisplayDelay;
- 		draw();
---- branch-1-2-0.orig/engines/touche/touche.cpp	2010-10-08 00:38:22.000000000 +0200
-+++ branch-1-2-0/engines/touche/touche.cpp	2010-10-08 20:59:27.000000000 +0200
-@@ -302,6 +302,13 @@
- 	while (_eventMan->pollEvent(event)) {
- 		switch (event.type) {
- 		case Common::EVENT_KEYDOWN:
-+#ifdef	MAEMO_SDL
-+			if (event.kbd.keycode == 13) { // select button simulates righ button toggle
-+				_inp_rightMouseButtonPressed=!_inp_rightMouseButtonPressed;
-+			} else {
-+				_inp_rightMouseButtonPressed = false;
-+			}
-+#endif
- 			if (!handleKeyEvents) {
- 				break;
- 			}
-@@ -312,10 +319,18 @@
- 						quitGame();
- 					}
- 				}
-+#ifdef	MAEMO_SDL
-+			} else if (event.kbd.keycode == Common::KEYCODE_F4) {
-+#else
- 			} else if (event.kbd.keycode == Common::KEYCODE_F5) {
-+#endif
- 				if (_flagsTable[618] == 0 && !_hideInventoryTexts) {
- 					handleOptions(0);
- 				}
-+#ifdef	MAEMO_SDL
-+			} else if (event.kbd.keycode == Common::KEYCODE_F8) {
-+				_fastWalkMode = !_fastWalkMode;
-+#endif
- 			} else if (event.kbd.keycode == Common::KEYCODE_F9) {
- 				_fastWalkMode = true;
- 			} else if (event.kbd.keycode == Common::KEYCODE_F10) {
-@@ -340,12 +355,22 @@
- 		case Common::EVENT_LBUTTONDOWN:
- 			_inp_leftMouseButtonPressed = true;
- 			break;
-+#ifdef	MAEMO_SDL
-+		case Common::EVENT_LBUTTONUP:
-+			// this is done elsewhere _inp_leftMouseButtonPressed = false;
-+			_inp_rightMouseButtonPressed = false; // simulate rbutton up to close menu
-+			break;
-+		case Common::EVENT_RBUTTONDOWN:
-+			_inp_rightMouseButtonPressed = !_inp_rightMouseButtonPressed;
-+			break;
-+#else
- 		case Common::EVENT_RBUTTONDOWN:
- 			_inp_rightMouseButtonPressed = true;
- 			break;
- 		case Common::EVENT_RBUTTONUP:
- 			_inp_rightMouseButtonPressed = false;
- 			break;
-+#endif
- 		default:
- 			break;
- 		}
---- branch-1-2-0.orig/engines/sky/sky.cpp	2010-10-08 00:39:08.000000000 +0200
-+++ branch-1-2-0/engines/sky/sky.cpp	2010-10-08 20:59:27.000000000 +0200
-@@ -408,6 +408,17 @@
- 			switch (event.type) {
- 			case Common::EVENT_KEYDOWN:
- 				_keyPressed = event.kbd;
-+#ifdef	MAEMO_SDL
-+				// Maemo platform keybindings
-+				if (_keyPressed.keycode == Common::KEYCODE_F4) // Map F4 (menu) to F5 (access main menu)
-+					_keyPressed.keycode = Common::KEYCODE_F5;
-+				if (_keyPressed.ascii == 13) // Map Select=Enter to right mouse button
-+					_skyMouse->buttonPressed(1);
-+				if (_keyPressed.keycode == Common::KEYCODE_F8) // Map F8 (zoom out) to toggle fast mode
-+					_fastMode ^= 1;
-+				if (_keyPressed.keycode == Common::KEYCODE_DOWN) // Map Down to . (skip one line of dialog)
-+					_keyPressed.ascii = '.';
-+#endif
- 				break;
- 			case Common::EVENT_MOUSEMOVE:
- 				if (!(_systemVars.systemFlags & SF_MOUSE_LOCKED))
---- branch-1-2-0.orig/engines/lure/menu.cpp	2010-10-08 00:39:16.000000000 +0200
-+++ branch-1-2-0/engines/lure/menu.cpp	2010-10-08 20:59:27.000000000 +0200
-@@ -34,7 +34,7 @@
- #include "lure/events.h"
- #include "lure/lure.h"
- 
--#if defined(_WIN32_WCE) || defined(__SYMBIAN32__)
-+#if defined(_WIN32_WCE) || defined(MAEMO_SDL) || defined(__SYMBIAN32__)
- #define LURE_CLICKABLE_MENUS
- #endif
- 
---- branch-1-2-0.orig/engines/cine/main_loop.cpp	2010-10-08 00:39:39.000000000 +0200
-+++ branch-1-2-0/engines/cine/main_loop.cpp	2010-10-08 20:59:27.000000000 +0200
-@@ -75,18 +75,27 @@
- 				mouseRight = 1;
- 			}
- 			break;
-+#ifdef	MAEMO_SDL
-+		case Common::KEYCODE_UP:
-+#else
- 		case Common::KEYCODE_F1:
-+#endif
- 			if (allowPlayerInput) {
- 				playerCommand = 0; // EXAMINE
- 				makeCommandLine();
- 			}
- 			break;
-+#ifdef	MAEMO_SDL
-+		case Common::KEYCODE_DOWN:
-+#else
- 		case Common::KEYCODE_F2:
-+#endif
- 			if (allowPlayerInput) {
- 				playerCommand = 1; // TAKE
- 				makeCommandLine();
- 			}
- 			break;
-+#ifndef	MAEMO_SDL
- 		case Common::KEYCODE_F3:
- 			if (allowPlayerInput) {
- 				playerCommand = 2; // INVENTORY
-@@ -99,13 +108,43 @@
- 				makeCommandLine();
- 			}
- 			break;
-+#else
-+//map f3, f4 to f8,f7 = zoom +- keys, when in menu generate keypresses for savegame
-+		case Common::KEYCODE_F8:
-+			if (inMenu)
-+				lastKeyStroke = '1';
-+			else if (allowPlayerInput) {
-+				playerCommand = 2; // INVENTORY
-+				makeCommandLine();
-+			}
-+			break;
-+		case Common::KEYCODE_F7:
-+			if (inMenu)
-+				lastKeyStroke = '2';
-+			else 
-+			if (allowPlayerInput) {
-+				playerCommand = 3; // USE
-+				makeCommandLine();
-+			}
-+			break;
-+#endif
-+#ifdef	MAEMO_SDL
-+		case Common::KEYCODE_LEFT:
-+//			if (event.kbd.flags&Common::KBD_SHIFT)
-+//				moveUsingKeyboard(-1, 0); // Left
-+#else
- 		case Common::KEYCODE_F5:
-+#endif
- 			if (allowPlayerInput) {
- 				playerCommand = 4; // ACTIVATE
- 				makeCommandLine();
- 			}
- 			break;
-+#ifdef	MAEMO_SDL
-+		case Common::KEYCODE_RIGHT:
-+#else
- 		case Common::KEYCODE_F6:
-+#endif
- 			if (allowPlayerInput) {
- 				playerCommand = 5; // SPEAK
- 				makeCommandLine();
-@@ -117,7 +156,11 @@
- 				makeCommandLine();
- 			}
- 			break;
-+#ifdef	MAEMO_SDL
-+		case Common::KEYCODE_F4: // Menu key
-+#else
- 		case Common::KEYCODE_F10:
-+#endif
- 			if (!disableSystemMenu && !inMenu) {
- 				g_cine->makeSystemMenu();
- 			}
-@@ -133,19 +176,19 @@
- 		case Common::KEYCODE_KP_PLUS:
- 			g_cine->modifyGameSpeed(+1); // Faster
- 			break;
--		case Common::KEYCODE_LEFT:
-+//		case Common::KEYCODE_LEFT:
- 		case Common::KEYCODE_KP4:
- 			moveUsingKeyboard(-1, 0); // Left
- 			break;
--		case Common::KEYCODE_RIGHT:
-+//		case Common::KEYCODE_RIGHT:
- 		case Common::KEYCODE_KP6:
- 			moveUsingKeyboard(+1, 0); // Right
- 			break;
--		case Common::KEYCODE_UP:
-+//		case Common::KEYCODE_UP:
- 		case Common::KEYCODE_KP8:
- 			moveUsingKeyboard(0, +1); // Up
- 			break;
--		case Common::KEYCODE_DOWN:
-+//		case Common::KEYCODE_DOWN:
- 		case Common::KEYCODE_KP2:
- 			moveUsingKeyboard(0, -1); // Down
- 			break;
---- branch-1-2-0.orig/backends/platform/sdl/graphics.cpp	2010-10-08 00:41:46.000000000 +0200
-+++ branch-1-2-0/backends/platform/sdl/graphics.cpp	2010-10-08 20:59:27.000000000 +0200
-@@ -535,6 +535,56 @@
- 	height = bestMode->h;
- }
- 
-+#ifdef  MAEMO_SDL
-+#include "SDL_syswm.h"
-+
-+static void maemo5_WM_init(int fullscreen){
-+//static int fsdone=0;
-+//static int wmdone=0;
-+SDL_SysWMinfo info;                                                                                                                                  
-+SDL_VERSION(&info.version);                                                                                                                          
-+if ( SDL_GetWMInfo(&info) ) {                                                                                                                        
-+        Display *dpy = info.info.x11.display;                                                                                                        
-+        Window win;                                                                                                                                  
-+        unsigned long val = 1;
-+        Atom atom_zoom = XInternAtom(dpy, "_HILDON_ZOOM_KEY_ATOM", 0);
-+        info.info.x11.lock_func();
-+        win = info.info.x11.fswindow;                                                                                                                
-+        if (win)
-+                XChangeProperty (dpy,win,atom_zoom,XA_INTEGER,32,PropModeReplace,(unsigned char *) &val,1); // grab zoom keys
-+        win = info.info.x11.wmwindow;                                                                                                                
-+        if (win)
-+                XChangeProperty (dpy,win,atom_zoom,XA_INTEGER,32,PropModeReplace,(unsigned char *) &val,1); // grab zoom keys
-+#if 0
-+        if (win && fullscreen /* && !fsdone */ ) {
-+                XUnmapWindow(dpy,win);
-+                XChangeProperty (dpy,win,atom_zoom,XA_INTEGER,32,PropModeReplace,(unsigned char *) &val,1); // grab zoom keys
-+                Atom atom_noncomposited = XInternAtom(dpy, "_HILDON_NON_COMPOSITED_WINDOW", 0);
-+                Atom atom_wmstate = XInternAtom(dpy, "_NET_WM_STATE", 0);
-+                Atom atom_wmstate_fullscreen = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", 0);
-+                XSetWindowAttributes xattr;
-+                xattr.override_redirect = False;
-+                XChangeProperty (dpy,win,atom_noncomposited,XA_INTEGER,32,PropModeReplace,(unsigned char *) &val,1); // make window not composited
-+                //XChangeWindowAttributes(dpy, win, CWOverrideRedirect, &xattr); // 
-+                XChangeProperty (dpy,win,atom_wmstate,XA_ATOM,32,PropModeReplace,(unsigned char *) &atom_wmstate_fullscreen,1); // mark as fullscreen = disable tskswitch button
-+                XMapWindow(dpy,win);
-+                //fsdone=1;
-+        }
-+        win = info.info.x11.wmwindow;
-+        if (win && !fullscreen /* && !wmdone */) {
-+                XUnmapWindow(dpy,win);
-+                XChangeProperty (dpy,win,atom_zoom,XA_INTEGER,32,PropModeReplace,(unsigned char *) &val,1);
-+                XMapWindow(dpy,win);
-+                //wmdone=1;
-+        }
-+#endif
-+        info.info.x11.unlock_func();
-+//      XSync(dpy,False);
-+}                                                                                                                                                    
-+}
-+#endif
-+
-+
- bool OSystem_SDL::loadGFXMode() {
- 	assert(_inited);
- 	_forceFull = true;
-@@ -575,6 +625,9 @@
- 		error("allocating _screen failed");
- #endif
- 
-+#ifdef  MAEMO_SDL                                                                                                                                            
-+        maemo5_WM_init(_videoMode.fullscreen);                                                                                                               
-+#endif                                                                                                                                                       
- 	//
- 	// Create the surface that contains the scaled graphics in 16 bit mode
- 	//
-@@ -959,6 +1012,14 @@
- 		_videoMode.fullscreen = enable;
- 		_transactionDetails.needHotswap = true;
- 	}
-+#ifdef MAEMO_SDL
-+	char *caption;
-+	char title[50];
-+	title[49] = '\0';
-+	SDL_WM_GetCaption(&caption, NULL);
-+	if (caption!=NULL) {strncpy(title,caption,49);
-+	setXWindowName(caption); }
-+#endif
- }
- 
- void OSystem_SDL::setAspectRatioCorrection(bool enable) {
---- branch-1-2-0.orig/backends/platform/sdl/sdl.cpp	2010-10-08 00:41:46.000000000 +0200
-+++ branch-1-2-0/backends/platform/sdl/sdl.cpp	2010-10-08 20:59:27.000000000 +0200
-@@ -48,6 +48,10 @@
- #include "icons/scummvm.xpm"
- 
- #include <time.h>	// for getTimeAndDate()
-+#ifdef        MAEMO_SDL
-+#include <SDL/SDL_syswm.h>
-+#include <X11/Xutil.h>
-+#endif
- 
- //#define SAMPLES_PER_SEC 11025
- #define SAMPLES_PER_SEC 22050
-@@ -214,7 +218,15 @@
- 		_timerID = SDL_AddTimer(10, &timer_handler, _timer);
- 	}
- 
--	// Invoke parent implementation of this method
-+#ifdef        MAEMO_SDL
-+	// some keymappings are done differently for devices with full keyboard (N810=RX-34)
-+	_have_keyboard=0;
-+	char *device=getenv("SCUMMVM_MAEMO_DEVICE");
-+	if (device != NULL)
-+	if ( (strcmp(device,"RX-44") == 0) || (strcmp(device,"RX-48") == 0) || (strcmp(device,"RX-51") == 0))
-+	    _have_keyboard=1;
-+#endif
-+ 	// Invoke parent implementation of this method
- 	OSystem::initBackend();
- 
- 	_inited = true;
-@@ -427,6 +439,23 @@
- 	return file.createWriteStream();
- }
- 
-+#ifdef MAEMO_SDL
-+void OSystem_SDL::setXWindowName(const char *caption) {
-+	SDL_SysWMinfo info;
-+	SDL_VERSION(&info.version);
-+	if ( SDL_GetWMInfo(&info) ) {
-+		Display *dpy = info.info.x11.display;
-+		Window win;
-+		//if (_videoMode.fullscreen)
-+		win = info.info.x11.fswindow;
-+		if (win) XStoreName(dpy, win, caption);
-+		//else
-+		win = info.info.x11.wmwindow;
-+		if (win) XStoreName(dpy, win, caption);
-+	}
-+}
-+#endif	
-+
- void OSystem_SDL::setWindowCaption(const char *caption) {
- 	Common::String cap;
- 	byte c;
-@@ -443,6 +472,11 @@
- 	}
- 
- 	SDL_WM_SetCaption(cap.c_str(), cap.c_str());
-+#ifdef MAEMO_SDL
-+	Common::String cap2("ScummVM - "); // 2 lines in OS2008 task switcher, set first line
-+	cap=cap2+cap;
-+	setXWindowName(cap.c_str());
-+#endif	
- }
- 
- bool OSystem_SDL::hasFeature(Feature f) {
-@@ -519,6 +553,14 @@
- #endif
- }
- 
-+#ifdef MAEMO_SDL
-+// no Maemo version needs setupIcon
-+// also N900 is hit by SDL_WM_SetIcon bug (window cannot receive input)
-+// http://bugzilla.libsdl.org/show_bug.cgi?id=586
-+void OSystem_SDL::setupIcon() {
-+    ;
-+}
-+#else
- void OSystem_SDL::setupIcon() {
- 	int x, y, w, h, ncols, nbytes, i;
- 	unsigned int rgba[256];
-@@ -570,6 +612,7 @@
- 	SDL_FreeSurface(sdl_surf);
- 	free(icon);
- }
-+#endif
- 
- OSystem::MutexRef OSystem_SDL::createMutex() {
- 	return (MutexRef) SDL_CreateMutex();
---- branch-1-2-0.orig/backends/platform/sdl/events.cpp	2010-10-08 00:41:46.000000000 +0200
-+++ branch-1-2-0/backends/platform/sdl/events.cpp	2010-10-08 21:09:34.000000000 +0200
-@@ -26,6 +26,10 @@
- #include "backends/platform/sdl/sdl.h"
- #include "common/util.h"
- #include "common/events.h"
-+#ifdef MAEMO_SDL
-+#include "common/config-manager.h"
-+#endif
-+
- #include "graphics/scaler/aspect.h"	// for aspect2Real
- 
- // FIXME move joystick defines out and replace with confile file options
-@@ -234,8 +238,13 @@
- 
- bool OSystem_SDL::handleKeyDown(SDL_Event &ev, Common::Event &event) {
- 
-+#ifdef MAEMO_SDL
-+// we want to remap first including ctr/shift/alt modifiers
-+	const bool event_complete = remapKey(ev, event);
-+	SDLModToOSystemKeyFlags(ev.key.keysym.mod, event);  
-+#else
- 	SDLModToOSystemKeyFlags(SDL_GetModState(), event);
--
-+#endif
- 	// Handle scroll lock as a key modifier
- 	if (ev.key.keysym.sym == SDLK_SCROLLOCK)
- 		_scrollLock = !_scrollLock;
-@@ -243,8 +252,13 @@
- 	if (_scrollLock)
- 		event.kbd.flags |= Common::KBD_SCRL;
- 
-+#ifdef MAEMO_SDL
-+	// fullscreen button or ctrl+space toggle full screen mode
-+	if (ev.key.keysym.sym == SDLK_F6 || (_have_keyboard && event.kbd.hasFlags(Common::KBD_CTRL) && (ev.key.keysym.sym == SDLK_SPACE) ) ) {
-+#else
- 	// Alt-Return and Alt-Enter toggle full screen mode
- 	if (event.kbd.hasFlags(Common::KBD_ALT) && (ev.key.keysym.sym == SDLK_RETURN || ev.key.keysym.sym == SDLK_KP_ENTER)) {
-+#endif
- 		beginGFXTransaction();
- 			setFullscreenMode(!_videoMode.fullscreen);
- 		endGFXTransaction();
-@@ -278,11 +292,15 @@
- 		return false;
- 	}
- 
-+#ifndef MAEMO_SDL
- 	// Ctrl-m toggles mouse capture
- 	if (event.kbd.hasFlags(Common::KBD_CTRL) && ev.key.keysym.sym == 'm') {
- 		toggleMouseGrab();
- 		return false;
- 	}
-+#else
-+// mouse capture makes no sense for Maemo and ctrl+m is used for global menu
-+#endif
- 
- #if defined(MACOSX)
- 	// On Macintosh', Cmd-Q quits
-@@ -315,7 +333,11 @@
- 			return false;
- 	}
- 
-+#ifdef MAEMO_SDL
-+	if (event_complete)
-+#else
- 	if (remapKey(ev, event))
-+#endif
- 		return true;
- 
- 	event.type = Common::EVENT_KEYDOWN;
-@@ -334,7 +356,12 @@
- 	event.kbd.ascii = mapKey(ev.key.keysym.sym, ev.key.keysym.mod, ev.key.keysym.unicode);
- 
- 	// Ctrl-Alt-<key> will change the GFX mode
-+#ifdef MAEMO_SDL
-+	// we can't call SDL_GetModState(), modifiers can be remapped too
-+	SDLModToOSystemKeyFlags(ev.key.keysym.mod, event);  
-+#else
- 	SDLModToOSystemKeyFlags(SDL_GetModState(), event);
-+#endif
- 
- 	// Set the scroll lock sticky flag
- 	if (_scrollLock)
-@@ -356,8 +383,20 @@
- }
- 
- bool OSystem_SDL::handleMouseButtonDown(SDL_Event &ev, Common::Event &event) {
-+#ifdef	MAEMO_SDL
-+	if (ev.button.button == SDL_BUTTON_LEFT){
-+	SDLMod mod=SDL_GetModState();
-+	if (mod & KMOD_SHIFT)
-+		event.type = Common::EVENT_RBUTTONDOWN;
-+	else if ( mod & KMOD_CTRL)
-+		event.type = Common::EVENT_MOUSEMOVE;
-+	else
-+		event.type = Common::EVENT_LBUTTONDOWN;
-+	}
-+#else
- 	if (ev.button.button == SDL_BUTTON_LEFT)
- 		event.type = Common::EVENT_LBUTTONDOWN;
-+#endif
- 	else if (ev.button.button == SDL_BUTTON_RIGHT)
- 		event.type = Common::EVENT_RBUTTONDOWN;
- #if defined(SDL_BUTTON_WHEELUP) && defined(SDL_BUTTON_WHEELDOWN)
-@@ -373,14 +412,33 @@
- 	else
- 		return false;
- 
-+#ifdef MAEMO_SDL
-+	// we have touchscreen so we may have no mousemotion events between taps
-+	setMousePos(event.mouse.x, event.mouse.y);
-+	// this is trying to fix wrong action done by mouse click in some engines
-+	// it looks like clicking affects objects in previous mouse position
-+	// if this does not help we should perhaps generate some fake mouse motion event(s) 
-+#endif
- 	fillMouseEvent(event, ev.button.x, ev.button.y);
- 
- 	return true;
- }
- 
- bool OSystem_SDL::handleMouseButtonUp(SDL_Event &ev, Common::Event &event) {
-+#ifdef	MAEMO_SDL
-+	if (ev.button.button == SDL_BUTTON_LEFT){
-+		SDLMod mod=SDL_GetModState();
-+		if (mod & KMOD_SHIFT)
-+			event.type = Common::EVENT_RBUTTONUP;
-+		else if ( mod & KMOD_CTRL)
-+			event.type = Common::EVENT_MOUSEMOVE;
-+		else
-+			event.type = Common::EVENT_LBUTTONUP;
-+	}
-+#else
- 	if (ev.button.button == SDL_BUTTON_LEFT)
- 		event.type = Common::EVENT_LBUTTONUP;
-+#endif
- 	else if (ev.button.button == SDL_BUTTON_RIGHT)
- 		event.type = Common::EVENT_RBUTTONUP;
- #if defined(SDL_BUTTON_MIDDLE)
-@@ -504,7 +562,203 @@
- 	return true;
- }
- 
-+// called on SDL KEYUP and KEYDOWN events
- bool OSystem_SDL::remapKey(SDL_Event &ev, Common::Event &event) {
-+#ifdef MAEMO_SDL
-+	static int engine=0;
-+#define	ENG_OTHER	-1
-+//#define	ENG_SCUMM	1
-+	static int game=0;
-+#define GAME_OTHER	-1	
-+#define GAME_LURE	1
-+#define GAME_SWORD1	2
-+#define GAME_SWORD2	3
-+#define GAME_SAGA	4
-+#define GAME_FW		5
-+//#define GAME_SIMON1	6
-+//#define GAME_SIMON2	7
-+#define GAME_FEEBLE	8
-+//#define GAME_TOUCHE	9
-+#define GAME_DISCWORLD	10
-+#define GAME_CRUISE	11
-+
-+
-+	if (engine == 0){
-+		// one time initialization
-+		Common::String gameid(ConfMan.get("gameid"));
-+		if (gameid.hasPrefix("lure")) {
-+			game=GAME_LURE;
-+			engine=ENG_OTHER;
-+		} else if (gameid.hasPrefix("sword2")) {
-+			game=GAME_SWORD2;
-+			engine=ENG_OTHER;
-+		} else if (gameid.hasPrefix("cine")) {
-+			game=GAME_FW;
-+			engine=ENG_OTHER;
-+/*		} else if (gameid == "touche") {
-+			game=GAME_TOUCHE;
-+			engine=ENG_OTHER;
-+		} else if (gameid == "simon1") {
-+			game=GAME_SIMON1;
-+			engine=ENG_OTHER;
-+		} else if (gameid == "simon2") {
-+			game=GAME_SIMON2;
-+			engine=ENG_OTHER;
-+*/
-+		} else if (gameid.hasPrefix("feeble")) {
-+			game=GAME_FEEBLE;
-+			engine=ENG_OTHER;
-+		} else if (gameid.hasPrefix("sword1")) {
-+			game=GAME_SWORD1;
-+			engine=ENG_OTHER;
-+		} else if (gameid.hasPrefix("saga")) {
-+			game=GAME_SAGA;
-+			engine=ENG_OTHER;
-+		} else if (gameid.hasPrefix("tinsel")) {
-+			game=GAME_DISCWORLD;
-+			engine=ENG_OTHER;
-+		} else if (gameid.hasPrefix("cruise")) {
-+			game=GAME_CRUISE;
-+			engine=ENG_OTHER;
-+		} else {
-+			game=GAME_OTHER;
-+			engine=ENG_OTHER;
-+		}
-+	}
-+	// global mapping - N810, N900
-+	if (_have_keyboard && (ev.key.keysym.mod & KMOD_CTRL)){
-+		// map ctrl-m to ctrl F5 = global scummvm menu 
-+		if (ev.key.keysym.sym==SDLK_m) ev.key.keysym.sym=SDLK_F5 ;
-+	}
-+        if (_have_keyboard && (ev.key.keysym.mod & KMOD_SHIFT)){
-+                // map shift backspace to escape, shift enter to menu key
-+                if (ev.key.keysym.sym==SDLK_BACKSPACE) { ev.key.keysym.sym=SDLK_ESCAPE ; ev.key.keysym.mod = (SDLMod) (ev.key.keysym.mod & ~KMOD_SHIFT); }
-+                if (ev.key.keysym.sym==SDLK_KP_ENTER) { ev.key.keysym.sym=SDLK_F4; ev.key.keysym.mod = (SDLMod) (ev.key.keysym.mod & ~KMOD_SHIFT); }
-+        }
-+														 
-+	// engine specific mappings
-+	switch (engine){
-+		// nothing now
-+	}
-+	// game specific mapping
-+	switch (game) {
-+		case GAME_LURE:
-+			if ((ev.key.keysym.sym==SDLK_F8 && _have_keyboard ) || (ev.key.keysym.sym==SDLK_F4 && !_have_keyboard)){
-+				// map zoom - to right click if we have keyboard (N810), otherwise map menu key (770,N800)
-+				event.type = ((ev.type==SDL_KEYUP) ? Common::EVENT_RBUTTONUP : Common::EVENT_RBUTTONDOWN );
-+				event.mouse.x = _mouseCurState.x;
-+				event.mouse.y = _mouseCurState.y;
-+				return true;			 
-+			
-+			}
-+			switch(ev.key.keysym.sym){
-+				case SDLK_F5: // map F5 (home key) to f9 = restart game
-+					ev.key.keysym.sym=SDLK_F9;
-+					break;
-+				case SDLK_F8: // map F8 (zoom - key) to F5 (save dialog) in game
-+					ev.key.keysym.sym=SDLK_F5;
-+					break;
-+				case SDLK_F4: // same as above, only one mapping happens due to right click maping above 
-+					ev.key.keysym.sym=SDLK_F5;
-+				default:
-+					;
-+			}
-+			break;
-+		case GAME_FW:
-+			// Future Wars - no mapping here, done in game engine
-+			break;
-+		case GAME_FEEBLE:
-+			if ((ev.key.keysym.sym==SDLK_F8 && _have_keyboard ) || (ev.key.keysym.sym==SDLK_F4 && !_have_keyboard)){
-+				// map zoom - to right click if we have keyboard (N810), otherwise map menu key (770,N800)
-+				event.type = ((ev.type==SDL_KEYUP) ? Common::EVENT_RBUTTONUP : Common::EVENT_RBUTTONDOWN );
-+				event.mouse.x = _mouseCurState.x;
-+				event.mouse.y = _mouseCurState.y;
-+				return true;			 
-+			
-+			}
-+			if (!_have_keyboard) switch(ev.key.keysym.sym){
-+				case SDLK_F7: // map F7 (zoom + key) to letter y
-+					ev.key.keysym.sym=SDLK_y;
-+					break;
-+				case SDLK_F8: // map F8 (zoom - key) to letter 1
-+					ev.key.keysym.sym=SDLK_1;
-+					break;
-+				default:
-+					;
-+			} 
-+			break;
-+		case GAME_DISCWORLD:
-+			switch(ev.key.keysym.sym) {
-+				case SDLK_F8: // map F8 (zoom - key) to right click
-+					event.type = ((ev.type==SDL_KEYUP) ? Common::EVENT_RBUTTONUP : Common::EVENT_RBUTTONDOWN );
-+					event.mouse.x = _mouseCurState.x;
-+					event.mouse.y = _mouseCurState.y;
-+					return true;
-+				// now map F7 (=zoom+) to Enter for N810 (useful when closed)				 
-+				case SDLK_F7:
-+					if (_have_keyboard) ev.key.keysym.sym=SDLK_RETURN; else ev.key.keysym.sym=SDLK_y;
-+					break;
-+				case SDLK_F4: // map menu key to game menu
-+				case SDLK_F5: // swap/home key too
-+					ev.key.keysym.sym=SDLK_F1;
-+					break; 
-+				default:
-+					;			
-+			}
-+			break;
-+		case GAME_CRUISE:
-+			switch(ev.key.keysym.sym) {
-+				case SDLK_F8: // map F8 (zoom - key) to right click
-+					event.type = ((ev.type==SDL_KEYUP) ? Common::EVENT_RBUTTONUP : Common::EVENT_RBUTTONDOWN );
-+					event.mouse.x = _mouseCurState.x;
-+					event.mouse.y = _mouseCurState.y;
-+					return true;
-+				// now map F7 (=zoom+) to menu for N810 (useful when closed)				 
-+				case SDLK_F7:
-+					if (_have_keyboard) ev.key.keysym.sym=SDLK_F10; else ev.key.keysym.sym=SDLK_p;
-+					break;
-+				case SDLK_F4: // map menu key to game menu
-+					ev.key.keysym.sym=SDLK_F10;
-+					break; 
-+				default:
-+					;			
-+			}
-+			break;
-+		default:
-+		//case GAME_SWORD2:
-+		//case GAME_SWORD1:
-+		//case GAME_SAGA: //I Have No Mouth
-+			if (!_have_keyboard) switch(ev.key.keysym.sym){
-+				case SDLK_F7: // map F7 (zoom + key) to letter y for save game entry and 'yes' replies (simon, touche)
-+					ev.key.keysym.sym=SDLK_y;
-+					break;
-+				case SDLK_F8: // map F8 (zoom - key) to letter 1 for save game entry and copyprotection in monkey2
-+					ev.key.keysym.sym=SDLK_1;
-+					break;
-+				default:
-+					;
-+			} else switch(ev.key.keysym.sym) {
-+				case SDLK_F8: // map F8 (zoom - key) to right click
-+					event.type = ((ev.type==SDL_KEYUP) ? Common::EVENT_RBUTTONUP : Common::EVENT_RBUTTONDOWN );
-+					event.mouse.x = _mouseCurState.x;
-+					event.mouse.y = _mouseCurState.y;
-+					return true;
-+				// now map F7 (=zoom+) to menu (=F4) so we can have same mapping for N810 and 770/800 for menu key
-+				// N800's real menu key is hidden on retractable keyboard so we use zoom+ for it instead too				 
-+				case SDLK_F7:
-+					ev.key.keysym.sym=SDLK_F4;
-+					break;
-+				/* with real keyboard we can afford to lose F7, do not remap F4 back
-+				case SDLK_F4:
-+					ev.key.keysym.sym=SDLK_F7;
-+					break; */
-+				default:
-+					;			
-+			}
-+			break;
-+	}
-+#endif //SDL_MAEMO
-+
- #ifdef LINUPY
- 	// On Yopy map the End button to quit
- 	if ((ev.key.keysym.sym == 293)) {
---- branch-1-2-0.orig/backends/platform/sdl/sdl.h	2010-10-08 00:41:46.000000000 +0200
-+++ branch-1-2-0/backends/platform/sdl/sdl.h	2010-10-08 20:59:27.000000000 +0200
-@@ -232,6 +232,9 @@
- 	virtual int getGraphicsMode() const;
- 
- 	virtual void setWindowCaption(const char *caption);
-+#ifdef	MAEMO_SDL
-+	void setXWindowName(const char *caption);
-+#endif
- 	virtual bool openCD(int drive);
- 
- 	virtual bool hasFeature(Feature f);
-@@ -416,6 +419,9 @@
- 	// joystick
- 	SDL_Joystick *_joystick;
- 
-+#ifdef	MAEMO_SDL
-+	int _have_keyboard;
-+#endif
- 	// Shake mode
- 	int _currentShakePos;
- 	int _newShakePos;

Copied: scummvm/branches/branch-1-2-0/backends/platform/maemo/scummvm-1.2-maemo.patch (from rev 53079, scummvm/branches/branch-1-2-0/backends/platform/maemo/scummvm-1.1.0-maemo.patch)
===================================================================
--- scummvm/branches/branch-1-2-0/backends/platform/maemo/scummvm-1.2-maemo.patch	                        (rev 0)
+++ scummvm/branches/branch-1-2-0/backends/platform/maemo/scummvm-1.2-maemo.patch	2010-10-08 19:33:05 UTC (rev 53080)
@@ -0,0 +1,1363 @@
+diff -Naur branch-1-2-0.orig/debian/changelog branch-1-2-0/debian/changelog
+--- branch-1-2-0.orig/debian/changelog	1970-01-01 01:00:00.000000000 +0100
++++ branch-1-2-0/debian/changelog	2010-10-08 20:59:27.000000000 +0200
+@@ -0,0 +1,211 @@
++scummvm (1.1.0~pre) unstable; urgency=low
++
++  * 1.1.0 testing release
++  * cleanup for N900 (new firmwares need less hacks)
++  * unified binary for all devices now have datafiles included (~2MB)
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed, 24 Mar 2010 01:48:05 +0100
++scummvm (1.0.0-4) unstable; urgency=low
++
++  * datadir optified (/usr/share/scummvm -> /opt/scummvm/share)
++  * added engine files to datadir
++  * Application Manager icon enlarged to 48x48
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Thu, 17 Dec 2009 13:54:51 +0100
++scummvm (1.0.0-3) unstable; urgency=low
++
++  * disable taskmanager topleft button in fullscreen mode (N900)
++  * map shift+click to right button click
++  * mam ctrl+click to mouse move (no click)
++  * set fullscreen window as _HILDON_NON_COMPOSITED_WINDOW (N900)
++  
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Tue, 15 Dec 2009 23:12:51 +0100
++scummvm (1.0.0-2) unstable; urgency=low
++
++  * grab N900 volume keys
++  * map Shift+Backspace to Escape key, shift+enter to Menu key (N900)
++  * optified = main binary moved to /opt/scummvm/bin/scummvm
++  
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Sat, 12 Dec 2009 23:39:04 +0100
++scummvm (1.0.0-1) unstable; urgency=low
++
++  * -mcpu=arm1136j-s -mfpu=vfp -mfloat-abi=softfp breaks Gobliins, reverted
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed,  2 Dec 2009 10:25:11 +0100
++scummvm (1.0.0) unstable; urgency=low
++
++  * upstream 1.0 release
++  * Initial support for N900
++  
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Fri,  6 Nov 2009 22:02:25 +0100
++scummvm (1.0.0~rc1-3) unstable; urgency=low
++
++  * updated to 1.0 branch revision 43999 to fix bugs (Cruise pause, ..)
++  * Cruise for Corpse mapping added to zoom+ for N800/770
++  
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Mon,  7 Sep 2009 09:03:13 +0200
++scummvm (1.0.0~rc1-2) unstable; urgency=low
++
++  * Cruise for Corpse key bindings added
++   - menu key for menu, zoom-=right click, zoom+=context menu
++  
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed,  2 Sep 2009 23:03:59 +0200
++scummvm (1.0.0~rc1-1) unstable; urgency=low
++
++  * Discworld key bindings added - menu key for menu, zoom-=right click, zoom+=Enter/y key
++  
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed,  2 Sep 2009 09:53:08 +0200
++scummvm (1.0.0~rc1) unstable; urgency=low
++
++  * upstream 1.0.0rc1 release
++  
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Thu, 20 Aug 2009 23:33:59 +0200
++scummvm (0.13.1) unstable; urgency=low
++
++  * upstream 0.13.1 release
++  
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Sat, 18 Apr 2009 22:40:42 +0200
++scummvm (0.13.0-2) unstable; urgency=low
++
++  * dbus_service.patch is incomplete - needs also install line in debian/rules
++  
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Fri, 27 Feb 2009 20:37:29 +0100
++scummvm (0.13.0-1) unstable; urgency=low
++
++  * fix crash in task switcher caption code when .scummvmrc had fullscreen value set
++  * enabled also dbus_service.patch for home key switching back (not needed in OS < 2008)
++  
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Fri, 27 Feb 2009 09:29:01 +0100
++scummvm (0.13.0) unstable; urgency=low
++
++  * upstream 0.13.0 release
++  * Feeble Files mapping
++  * task switcher item name patch from mikkov
++  
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed, 18 Feb 2009 21:52:33 +0100
++scummvm (0.11.99-4) unstable; urgency=low
++
++  * Maemo extras-devel test version
++    - maemo-taskswitcher.patch: title shown right from the beginning
++      and title not fixed to "ScummVM" only
++    - dbus_service.patch: modify scummvm.desktop, scummvm.wrapper and
++      scummvm.service to make switching application automatically back 
++      via second home key long press to work
++
++ -- Mikko Vartiainen <mvartiainen at gmail.com>  Thu, 03 Jan 2009 01:59:52 +0200
++scummvm (0.11.99-3) unstable; urgency=low
++
++  * Maemo extras-devel test version
++    - maemo-taskswitcher.patch
++  
++ -- Mikko Vartiainen <mvartiainen at gmail.com>  Thu, 01 Jan 2009 13:13:13 +0200
++scummvm (0.11.99-2) unstable; urgency=low
++
++  * Maemo extras-devel test version
++    - keeping version below 0.12.0
++    - not in user/ category
++  
++ -- Mikko Vartiainen <mvartiainen at gmail.com>  Thu, 01 Jan 2009 02:04:14 +0200
++scummvm (0.12.0) unstable; urgency=low
++
++  * upstream 0.12.0 release
++  * update description
++  
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Mon, 25 Aug 2008 21:47:41 +0200
++scummvm (0.11.99) unstable; urgency=low
++
++  * upstream 0.12.0 testing pre-release
++  * big icons added for OS2008 menu
++  
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Fri, 22 Aug 2008 08:20:48 +0200
++scummvm (0.11.1) unstable; urgency=low
++
++  * upstream 0.11.1 release
++  * mapping for N810: zoom+ = menu for all games (except FW)
++  
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Sat, 23 Feb 2008 20:41:37 +0100
++scummvm (0.11.0-2) unstable; urgency=low
++
++  * mapping for N800/770: zoom+ = y, zoom- = 1 (all games except FW)
++    this fixes save dialog in BS1 and also allows to exit some games via 'y'
++  * mapping for N810: zoom- = rightclick for all games
++  * updated to revision 30849 from 0.11 branch (some bugfixes for 0.11.1)
++  
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Mon, 11 Feb 2008 22:22:48 +0100
++scummvm (0.11.0-1) unstable; urgency=low
++
++  * theme files added back
++  * SWORD2,SAGA - added zoom keys =1/2 for saved games
++  * different mapping for N810 rightclick=zoom-,menu=zoom+ (currently only in LURE)
++  * added NEWS README COPYRIGHT do doc dir as per scummvm project guidelines
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Sun, 13 Jan 2008 22:58:41 +0100
++scummvm (0.11.0-0) unstable; urgency=low
++
++  * upstream 0.11 release
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Sat, 12 Jan 2008 22:26:34 +0100
++scummvm (0.10.0-5) unstable; urgency=low
++
++  * fixed for chinook, menu selection postinst script added
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Thu, 25 Oct 2007 09:56:32 +0200
++scummvm (0.10.0-4) unstable; urgency=low
++
++  * AGI - added pred.dic to DATA_PATH (=/usr/share/scummvm) to enable
++    predictive input
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Tue, 28 Aug 2007 09:58:29 +0200
++scummvm (0.10.0-3) unstable; urgency=low
++
++  * SCUMM - added mapping also for key up events (may fix right button in FT?)
++  * SWORD2 - added right button press mapping (not tested)
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Mon, 20 Aug 2007 22:39:07 +0200
++scummvm (0.10.0-2) unstable; urgency=low
++
++  * Future Wars - add mapping for left/up/down/right,zoom +/-
++  * fix SDL backend to set mouse position on button down event
++    as we may not have mousemove events with touchscreen
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Fri, 13 Jul 2007 09:56:37 +0200
++scummvm (0.10.0-1) unstable; urgency=low
++
++  * mapped F10 in Future Wars to menu key
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed, 11 Jul 2007 22:20:00 +0200
++scummvm (0.10.0) unstable; urgency=low
++
++  * upstream 0.10 release, enabled FLAC too
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed,  4 Jul 2007 12:48:48 +0200
++scummvm (0.9.1-1) unstable; urgency=low
++
++  * 0.9.1 mapped right mouse button in sword1
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Mon, 18 Jun 2007 21:15:31 +0200
++scummvm (0.9.1) unstable; urgency=low
++
++  * 0.9.1 upstream release
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed,  1 Nov 2006 20:40:51 +0100
++scummvm (0.9.0-3) unstable; urgency=low
++
++  * merged fixes in 0.9.0 upstream branch
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Mon,  9 Oct 2006 15:40:59 +0200
++scummvm (0.9.0-2) unstable; urgency=low
++
++  * merged fixes in 0.9.0 upstream branch
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Sat, 12 Aug 2006 20:10:47 +0200
++scummvm (0.9.0-1) unstable; urgency=low
++
++  * merged changes in 0.9.0 upstream release
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Sun, 23 Jul 2006 22:29:51 +0200
++scummvm (0.9.0) unstable; urgency=low
++
++  * 0.9.0 upstream release
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Tue, 27 Jun 2006 20:30:54 +0200
+diff -Naur branch-1-2-0.orig/debian/compat branch-1-2-0/debian/compat
+--- branch-1-2-0.orig/debian/compat	1970-01-01 01:00:00.000000000 +0100
++++ branch-1-2-0/debian/compat	2010-10-08 20:59:27.000000000 +0200
+@@ -0,0 +1 @@
++4
+diff -Naur branch-1-2-0.orig/debian/control branch-1-2-0/debian/control
+--- branch-1-2-0.orig/debian/control	1970-01-01 01:00:00.000000000 +0100
++++ branch-1-2-0/debian/control	2010-10-08 20:59:27.000000000 +0200
+@@ -0,0 +1,51 @@
++Source: scummvm
++Section: user/games
++Priority: optional
++Maintainer: Frantisek Dufka <dufkaf at seznam.cz>
++Build-Depends: debhelper (>> 4.0.0), libsdl1.2-dev, libmad0-dev, libasound2-dev, libvorbisidec-dev, libmpeg2-4-dev, libflac-dev (>= 1.1.2), libz-dev, quilt
++
++Standards-Version: 3.6.1.1
++Package: scummvm
++Depends: ${shlibs:Depends}
++Architecture: i386 armel
++Section: user/games
++Description: interpreter that will play graphic adventure games
++ written for LucasArts' SCUMM virtual machine, Sierra's AGI adventures,
++ Adventure Soft's Simon the Sorcerer 1, 2 and Feeble Files,
++ Revolution Software's Beneath a Steel Sky and Broken Sword 1 and 2,
++ Interactive Binary Illusions' Flight of the Amazon Queen,
++ Coktel Vision's Gobliiins, Wyrmkeep's Inherit the Earth,
++ Westwood's Legend of Kyrandia, and various others.
++ This package does not contain any actual games.
++XBS-Maemo-Icon-26:
++  iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAC/VBMVEUICwcH
++  CQUKDAgLDQoMDwsOEAwREAUPEQ0QEg8PFQoRExAUEwoVFAwPGAcTFBIRFg0W
++  FQ0XFg4RGgkTGA8XGQsTGwwUHA0aGRIWGxMXHQkVHQ8aGhMbGxQcHQocGxUZ
++  HwsYIgcfHxgeIRUbJQwhIBofJAweJwgfKQocKwwgKgshKw0gLggfLg8jLQ8n
++  LwwpLhEmMwcoMRQjNgotLCYmNwQlNwwqOBQtOQgsOQ8xNh4sPQswNyQqQAUw
++  PAsuOiAsQgcwOyIqRgIsSAQvRgs0PyY1Rg06RA0+PDAwSwg2RxUzTQE4TQsz
++  VAc/SSo6VAk4VwE6VRM2XAVAUC85XwlJVCNEXQo+YwJGXwxMWS1JXC5AagBI
++  awJUagRIcQBSbwpHeAJTaD9OdwNXcwJKewZNfABacRlOfQBPfgBQfwBMggBW
++  fgBNgwNSgQJOhAVecUJjdSZefwNUiABZhgBjeDZieDxhezFQjQBgghZkhQ5j
++  iQJUkAZcixJmgDZnhCtckQpblgBekw5clwBqgkthlQBdmAJriz90hz5omgBs
++  mAhxlgd0mAB5lgBpnA16khdzmAtxnABooQBtnwB4jUpzngBkpQR5nQF8j0Vr
++  pQduoRZ4nRR3k014oQBzpAt8oAh/ogBvqA5trACBmypwqRF1pw+GogCAow+D
++  pQB8phJ/nUNurxh0rRd4rwmHqQd6qDOArwCJqwyDsgCMrgB8ryiFtAB7uQN8
++  sDKBuAWOsBWJqFR8ti2IsiOSswaBuRt6vxCOtgqXsgePrjR9wQCFuw2KuQyB
++  uSeSuACEux6JuR2OvACAxACEvCuSuhOHujSMwQGTtiqfuACRvwGOvRWHuz2T
++  wASPwwmYvwaLvTebuxiWvhmSwBqZwAmNu0aevgiKvkCVviaMvE6bwQycuTid
++  vhylvQyZwB2cwg+QywCawR6fwB+bwyGI0gaewCudxCOjwyOT1ACmwjiX0g+j
++  xTqmxzOd1gCV0i6kyyuoyTah1Sif2h6tzjukzF+pz1uq1Eeg2Uml3U1kaLAB
++  AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAHrSURBVCjPY2BAAC5ubkFB
++  BkzAzggDfKgSUFEmKCmOIsPvktA0aVpbSYQ+FwsjkwpMBsi2m/X7z89v3759
++  +ngg1UqIlZEVponJYcW/rw9unH/04u2bc0vbo+WZWGCahEv/fj+6Yc2SZfv3
++  b5w6+eACHVYWmCazMz+unN44b3ZfV3dnx5yDiaKsUAOZGD2/fL58+PSGg3Gu
++  buEVWyZacLCzw6S8X324fOHqibMxWpKy5okBIjAZoNOt9r47e+HOnafbe/ND
++  DNWkOGAyDKwsCtXPTly4eufqm+fvHy4M1RRggsnJMLI6z9x99Oqtx7cuPP/2
++  ele5LjtCGyObbcHcDfuevHn+5s319RuSpOByrEwcwsqhlcvXHbp38+LxiXP6
++  DeBSTKzWvkrCun5Zq04dO7S6p67ZHibFziiRt6PYUk5YtfbUqSMTGnKyHaFS
++  rMDA3fHr7tqayKDWa0dWVmXHp5lCpRgZ2QI2HTl25NLt+1t3rppRFJ8SrwGX
++  4g9rmbJo0cpVqxZNaK5OS0nzF4NLMWkHZ1TVN9bXlxXmAo2L0uNgZITaxcjI
++  axAYH5+RATQrPtZHk5udA+Z2cIpQN3Hy8vOwMVLmYGTidoenDSawLAsnJz8L
++  kMUiY4ySpviYoKmKRVAcIyXKyIiLyygi+ADqVqrAkApevwAAAABJRU5ErkJg
++  gg==
+diff -Naur branch-1-2-0.orig/debian/copyright branch-1-2-0/debian/copyright
+--- branch-1-2-0.orig/debian/copyright	1970-01-01 01:00:00.000000000 +0100
++++ branch-1-2-0/debian/copyright	2010-10-08 20:59:27.000000000 +0200
+@@ -0,0 +1,20 @@
++ScummVM was debianized by Bastien Nocera <hadess at hadess.net> the 5th Apr 2002.
++It was adopted by Tore Anderson <tore at linpro.no> the 4th Oct 2002.
++Packaged for the Maemo platform by Tomas Junnoen <tomas at fs-security.com> Oct 2005
++Since 0.8.2 packaging for Maemo done by Frantisek Dufka <dufkaf at seznam.cz>
++
++It was downloaded from <http://www.scummvm.org/>.
++
++Upstream Authors: see AUTHORS file of the ScummVM source distribution.
++
++Copyright:
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU General Public License as published by the
++ Free Software Foundation; either version 2, or (at your option) any
++ later version.
++
++ On Debian GNU/Linux systems, the complete text of the GNU General
++ Public License can be found in `/usr/share/common-licenses/GPL'.
++
++This copyright also applies to the Debian-related build scripts.
+diff -Naur branch-1-2-0.orig/debian/postinst branch-1-2-0/debian/postinst
+--- branch-1-2-0.orig/debian/postinst	1970-01-01 01:00:00.000000000 +0100
++++ branch-1-2-0/debian/postinst	2010-10-08 20:59:27.000000000 +0200
+@@ -0,0 +1,19 @@
++#! /bin/sh
++if [ "$1" = "configure"  ] ; then
++OSVER=$OSSO_VERSION
++[ -z "$OSVER" -a -f /etc/osso_software_version ] && OSVER=`cat /etc/osso_software_version`
++OSVER=`echo $OSVER | cut -d _ -f 2`
++case $OSVER in
++	2006*|2007*)
++		#nothing to do
++		true
++		;;
++	*)
++		#ugly trick, until this icon is removed big icon in menu does not show
++		[ -f /usr/share/icons/scummvm.xpm ] && rm /usr/share/icons/scummvm.xpm
++		;;
++esac
++	[ -x /usr/bin/gtk-update-icon-cache ] && /usr/bin/gtk-update-icon-cache /usr/share/icons/hicolor
++	[ -x /usr/bin/maemo-select-menu-location -a -z "$2" ] && /usr/bin/maemo-select-menu-location scummvm.desktop  tana_fi_games
++fi
++exit 0
+diff -Naur branch-1-2-0.orig/debian/rules branch-1-2-0/debian/rules
+--- branch-1-2-0.orig/debian/rules	1970-01-01 01:00:00.000000000 +0100
++++ branch-1-2-0/debian/rules	2010-10-08 20:59:27.000000000 +0200
+@@ -0,0 +1,72 @@
++#!/usr/bin/make -f
++
++#include /usr/share/quilt/quilt.make
++
++build: scummvm
++
++scummvm:
++	dh_testdir
++	CXXFLAGS="-Os -mcpu=arm926ej-s -fomit-frame-pointer -DMAEMO_SDL -I/usr/X11R6/include" ./configure --prefix=/usr --disable-debug --disable-mt32emu  --disable-hq-scalers --with-tremor-prefix=/usr --enable-tremor --with-zlib-prefix=/usr --enable-zlib --with-mad-prefix=/usr --enable-mad --enable-flac --disable-alsa --prefix=/opt/scummvm --datadir=/opt/scummvm/share
++##  --host=arm-linux --enable-plugins --disable-scumm-7-8
++	$(MAKE)
++
++clean:
++	dh_testdir
++	dh_testroot
++	-$(MAKE) distclean
++	dh_clean
++
++install: build
++	dh_testdir
++	dh_testroot
++	dh_clean
++	dh_installdirs
++# not as a service
++#	install -m0755 dists/maemo/scummvm.wrapper debian/scummvm/usr/games/scummvm
++#	install -m0644 dists/maemo/scummvm.desktop debian/scummvm/usr/share/applications/hildon
++# run as fake dbus-service to enable switching back to application from desktop via home key
++	install -m0755 dists/maemo/scummvm.servicewrapper debian/scummvm/usr/games/scummvm
++	install -m0644 dists/maemo/scummvm.servicedesktop debian/scummvm/usr/share/applications/hildon/scummvm.desktop
++	install -m0644 dists/maemo/scummvm.service debian/scummvm/usr/share/dbus-1/services
++# end of fake dbus service
++	install -m0644 dists/maemo/scummvm26.png debian/scummvm/usr/share/icons/hicolor/26x26/hildon/scummvm.png
++	install -m0644 dists/maemo/scummvm40.png debian/scummvm/usr/share/icons/hicolor/40x40/hildon/scummvm.png
++	install -m0644 dists/maemo/scummvm48.png debian/scummvm/usr/share/icons/hicolor/48x48/hildon/scummvm.png
++	install -m0644 dists/maemo/scummvm64.png debian/scummvm/usr/share/icons/hicolor/64x64/hildon/scummvm.png
++	install -m0644 icons/scummvm.xpm debian/scummvm/usr/share/icons
++#	install -m0644 -d debian/scummvm/usr/lib/scummvm
++#	install -m0644 plugins/lib*.so debian/scummvm/usr/lib/scummvm
++##non-optified version
++#	install -m0755 scummvm debian/scummvm/usr/games/scummvm.bin
++#	install -m0644 -d debian/scummvm/usr/share/scummvm
++#	install -m0644 dists/pred.dic debian/scummvm/usr/share/scummvm
++#	install -m0644 gui/themes/scummclassic.zip  gui/themes/scummmodern.zip debian/scummvm/usr/share/scummvm
++# optified version (save rootfs space on N900), see also configure prefix and datadir paths above
++	install -m0644 -d debian/scummvm/opt/scummvm/bin
++	install -m0755 scummvm debian/scummvm/opt/scummvm/bin
++	install -m0644 -d debian/scummvm/opt/scummvm/share
++	install -m0644 dists/pred.dic debian/scummvm/opt/scummvm/share
++	install -m0644 gui/themes/scummclassic.zip  gui/themes/scummmodern.zip debian/scummvm/opt/scummvm/share
++# for optified version we can also add engine datafiles
++	install -m0644 dists/engine-data/drascula.dat dists/engine-data/kyra.dat dists/engine-data/lure.dat dists/engine-data/queen.tbl dists/engine-data/sky.cpt dists/engine-data/teenagent.dat debian/scummvm/opt/scummvm/share
++
++	install -m0644 -d debian/scummvm/usr/share/doc/scummvm
++	install -m0644 NEWS README COPYRIGHT debian/scummvm/usr/share/doc/scummvm	 
++binary: binary-arch
++
++binary-arch: build install
++	dh_testdir
++	dh_testroot
++	dh_installchangelogs NEWS
++	dh_link
++	dh_strip
++	dh_fixperms
++	dh_installdeb
++	dh_shlibdeps
++	dh_gencontrol
++	dh_md5sums
++	dh_builddeb
++
++binary-indep:
++
++.PHONY: build clean binary install binary-arch binary-indep
+diff -Naur branch-1-2-0.orig/debian/scummvm.dirs branch-1-2-0/debian/scummvm.dirs
+--- branch-1-2-0.orig/debian/scummvm.dirs	1970-01-01 01:00:00.000000000 +0100
++++ branch-1-2-0/debian/scummvm.dirs	2010-10-08 20:59:27.000000000 +0200
+@@ -0,0 +1,8 @@
++usr/games
++usr/share/icons
++usr/share/icons/hicolor/26x26/hildon
++usr/share/icons/hicolor/40x40/hildon
++usr/share/icons/hicolor/48x48/hildon
++usr/share/icons/hicolor/64x64/hildon
++usr/share/applications/hildon
++usr/share/dbus-1/services
+\ No newline at end of file
+--- branch-1-2-0.orig/configure	2010-10-08 00:43:16.000000000 +0200
++++ branch-1-2-0/configure	2010-10-08 21:06:36.000000000 +0200
+@@ -180,7 +180,7 @@
+ datarootdir='${prefix}/share'
+ datadir='${datarootdir}/scummvm'
+ docdir='${datarootdir}/doc/scummvm'
+-libdir='${exec_prefix}/lib'
++libdir='${exec_prefix}/lib/scummvm'
+ #localedir='${datarootdir}/locale'
+ mandir='${datarootdir}/man'
+ 
+@@ -2571,7 +2571,7 @@
+ 		DEFINES="$DEFINES -DPLUGIN_DIRECTORY=\\\"../plugins\\\""
+ 		;;
+ 	*)
+-		DEFINES="$DEFINES -DPLUGIN_DIRECTORY=\\\"$libdir/scummvm\\\""
++		DEFINES="$DEFINES -DPLUGIN_DIRECTORY=\\\"$libdir\\\""
+ 		;;
+ esac
+ 
+--- branch-1-2-0.orig/engines/kyra/module.mk	2010-10-08 00:36:19.000000000 +0200
++++ branch-1-2-0/engines/kyra/module.mk	2010-10-08 20:59:27.000000000 +0200
+@@ -96,3 +96,9 @@
+ 
+ # Include common rules
+ include $(srcdir)/rules.mk
++
++#ugly workaround, screen.cpp crashes gcc version 3.4.4 (CodeSourcery ARM 2005q3-2) with anything but -O3
++$(MODULE)/screen.o: $(MODULE)/screen.cpp
++	$(MKDIR) $(*D)/$(DEPDIR)
++	$(CXX) -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP $(CXXFLAGS) -O3 $(CPPFLAGS) -c $(<) -o $*.o
++
+--- branch-1-2-0.orig/engines/gob/util.cpp	2010-10-08 00:36:33.000000000 +0200
++++ branch-1-2-0/engines/gob/util.cpp	2010-10-08 20:59:27.000000000 +0200
+@@ -114,6 +114,10 @@
+ 			_mouseButtons = (MouseButtons) (((uint32) _mouseButtons) & ~((uint32) kMouseButtonsRight));
+ 			break;
+ 		case Common::EVENT_KEYDOWN:
++#ifdef MAEMO_SDL
++			if (event.kbd.keycode==Common::KEYCODE_F4)
++				_mouseButtons = (MouseButtons) (((uint32) _mouseButtons) | ((uint32) kMouseButtonsRight));
++#endif
+ 			if (event.kbd.hasFlags(Common::KBD_CTRL)) {
+ 				if (event.kbd.keycode == Common::KEYCODE_f)
+ 					_fastMode ^= 1;
+@@ -126,6 +130,10 @@
+ 			addKeyToBuffer(event.kbd);
+ 			break;
+ 		case Common::EVENT_KEYUP:
++#ifdef MAEMO_SDL
++			if (event.kbd.keycode==Common::KEYCODE_F4)
++				_mouseButtons = (MouseButtons) (((uint32) _mouseButtons) & ~((uint32) kMouseButtonsRight));
++#endif
+ 			break;
+ 		default:
+ 			break;
+--- branch-1-2-0.orig/engines/queen/input.cpp	2010-10-08 00:36:50.000000000 +0200
++++ branch-1-2-0/engines/queen/input.cpp	2010-10-08 20:59:27.000000000 +0200
+@@ -176,7 +176,11 @@
+ 		}
+ 		break;
+ 	case Common::KEYCODE_F1: // use Journal
++#ifdef MAEMO_SDL
++	case Common::KEYCODE_F4: // menu key on N770
++#else
+ 	case Common::KEYCODE_F5:
++#endif
+ 		if (_cutawayRunning) {
+ 			if (_canQuit) {
+ 				_keyVerb = VERB_USE_JOURNAL;
+--- branch-1-2-0.orig/engines/sword1/sword1.cpp	2010-10-08 00:37:07.000000000 +0200
++++ branch-1-2-0/engines/sword1/sword1.cpp	2010-10-08 20:59:27.000000000 +0200
+@@ -708,8 +708,21 @@
+ 		while (_eventMan->pollEvent(event)) {
+ 			switch (event.type) {
+ 			case Common::EVENT_KEYDOWN:
++#ifdef MAEMO_SDL
++// map center to right button
++				if (event.kbd.keycode == 13) {
++					_mouseState |= BS1R_BUTTON_DOWN;
++				} else
++#endif
+ 				_keyPressed = event.kbd;
+ 				break;
++#ifdef MAEMO_SDL
++			case Common::EVENT_KEYUP:
++				if (event.kbd.keycode == 13) {
++					_mouseState |= BS1R_BUTTON_UP;
++				}
++				break;
++#endif
+ 			case Common::EVENT_MOUSEMOVE:
+ 				_mouseCoord = event.mouse;
+ 				break;
+--- branch-1-2-0.orig/engines/sword2/sword2.cpp	2010-10-08 00:37:21.000000000 +0200
++++ branch-1-2-0/engines/sword2/sword2.cpp	2010-10-08 20:59:27.000000000 +0200
+@@ -682,11 +682,27 @@
+ 						_gameSpeed = 1;
+ 				}
+ 			}
++#ifdef MAEMO_SDL
++// map center to right button
++			else if (event.kbd.keycode == 13 && !(_inputEventFilter & RD_RIGHTBUTTONDOWN)) {
++				_mouseEvent.pending = true;
++				_mouseEvent.buttons = RD_RIGHTBUTTONDOWN;
++			} else
++#endif
+ 			if (!(_inputEventFilter & RD_KEYDOWN)) {
+ 				_keyboardEvent.pending = true;
+ 				_keyboardEvent.kbd = event.kbd;
+ 			}
+ 			break;
++#ifdef MAEMO_SDL
++		case Common::EVENT_KEYUP:
++// map center to right button
++			if (event.kbd.keycode == 13 && !(_inputEventFilter & RD_RIGHTBUTTONUP)) {
++				_mouseEvent.pending = true;
++				_mouseEvent.buttons = RD_RIGHTBUTTONUP;
++			}
++			break;
++#endif
+ 		case Common::EVENT_LBUTTONDOWN:
+ 			if (!(_inputEventFilter & RD_LEFTBUTTONDOWN)) {
+ 				_mouseEvent.pending = true;
+--- branch-1-2-0.orig/engines/scumm/input.cpp	2010-10-08 00:38:18.000000000 +0200
++++ branch-1-2-0/engines/scumm/input.cpp	2010-10-08 20:59:27.000000000 +0200
+@@ -135,7 +135,20 @@
+ 			// Normal key press, pass on to the game.
+ 			_keyPressed = event.kbd;
+ 		}
+-
++#ifdef MAEMO_SDL
++               switch (_keyPressed.keycode) {
++                       case Common::KEYCODE_F8: _fastMode ^= 1; break ;// Map F8 (zoom out) to toggle fast mode                                                                                             
++                       case Common::KEYCODE_F4: _keyPressed.keycode = Common::KEYCODE_F5; _keyPressed.ascii=Common::ASCII_F5 ; break; // map F4 to F5 (menu key)
++                       case Common::KEYCODE_RETURN: _keyPressed.keycode = Common::KEYCODE_TAB; _keyPressed.ascii=Common::ASCII_TAB ; break; // map Select (return) to Tab (right mouse button)
++                       default: ;
++               }
++               if (_game.version < 7) switch(event.kbd.keycode){
++                       case Common::KEYCODE_UP: _keyPressed.ascii = ' '; _keyPressed.keycode=Common::KEYCODE_SPACE; break ;// map Up to space (pause game)
++                       case Common::KEYCODE_DOWN: _keyPressed.ascii ='.'; _keyPressed.keycode=Common::KEYCODE_PERIOD; break ;// map Down to . (skip one line of dialog)
++                       default: ;
++               }
++#endif
++ 
+ 		// FIXME: We are using ASCII values to index the _keyDownMap here,
+ 		// yet later one code which checks _keyDownMap will use KEYCODEs
+ 		// to do so. That is, we are mixing ascii and keycode values here,
+@@ -151,6 +164,20 @@
+ 		break;
+ 
+ 	case Common::EVENT_KEYUP:
++#ifdef MAEMO_SDL
++                       // map keyup with similar rules as keydown
++                       switch (event.kbd.keycode) {
++
++                               case Common::KEYCODE_F4: event.kbd.keycode = Common::KEYCODE_F5; event.kbd.ascii=Common::ASCII_F5 ; break; // map F4 to F5 (menu key)
++                               case Common::KEYCODE_RETURN: event.kbd.keycode = Common::KEYCODE_TAB; event.kbd.ascii=Common::ASCII_TAB ; break; // map Select (return) to Tab (right mouse button)
++                               default: ;
++                       }
++                       if (_game.version < 7) switch(event.kbd.keycode){
++                               case Common::KEYCODE_UP: event.kbd.ascii = ' '; event.kbd.keycode=Common::KEYCODE_SPACE; break ;// map Up to space (pause game)
++                               case Common::KEYCODE_DOWN: event.kbd.ascii ='.'; event.kbd.keycode=Common::KEYCODE_PERIOD; break ;// map Down to . (skip one line of dialog)
++                               default: ;
++                       }
++#endif
+ 		if (event.kbd.ascii >= 512) {
+ 			debugC(DEBUG_GENERAL, "keyPressed > 512 (%d)", event.kbd.ascii);
+ 		} else {
+@@ -513,9 +540,10 @@
+ 		if (VAR_SAVELOAD_SCRIPT != 0xFF && _currentRoom != 0)
+ 			runScript(VAR(VAR_SAVELOAD_SCRIPT2), 0, 0, 0);
+ 
++#ifndef MAEMO_SDL
+ 	} else if (restartKeyEnabled && (lastKeyHit.keycode == Common::KEYCODE_F8 && lastKeyHit.hasFlags(0))) {
+ 		confirmRestartDialog();
+-
++#endif
+ 	} else if (pauseKeyEnabled && (lastKeyHit.keycode == Common::KEYCODE_SPACE && lastKeyHit.hasFlags(0))) {
+ 		pauseGame();
+ 
+--- branch-1-2-0.orig/engines/scumm/dialogs.cpp	2010-10-08 00:38:18.000000000 +0200
++++ branch-1-2-0/engines/scumm/dialogs.cpp	2010-10-08 20:59:27.000000000 +0200
+@@ -466,7 +466,11 @@
+ }
+ 
+ void PauseDialog::handleKeyDown(Common::KeyState state) {
++#ifdef MAEMO_SDL
++	if (state.ascii == ' ' || state.keycode == Common::KEYCODE_UP )  // Close pause dialog if space or UP key is pressed
++#else
+ 	if (state.ascii == ' ')  // Close pause dialog if space key is pressed
++#endif
+ 		close();
+ 	else
+ 		ScummDialog::handleKeyDown(state);
+@@ -539,12 +543,19 @@
+ }
+ 
+ void ValueDisplayDialog::handleKeyDown(Common::KeyState state) {
++#ifdef MAEMO_SDL
++        if (state.ascii == _incKey || state.ascii == _decKey || state.keycode == 275 || state.keycode == 276) {
++                if ((state.ascii == _incKey || state.keycode == 275 ) && _value < _max)
++                        _value++;
++                else if ((state.ascii == _decKey || state.keycode == 276) && _value > _min)
++                        _value--;
++#else
+ 	if (state.ascii == _incKey || state.ascii == _decKey) {
+ 		if (state.ascii == _incKey && _value < _max)
+ 			_value++;
+ 		else if (state.ascii == _decKey && _value > _min)
+ 			_value--;
+-
++#endif
+ 		setResult(_value);
+ 		_timer = g_system->getMillis() + kDisplayDelay;
+ 		draw();
+--- branch-1-2-0.orig/engines/touche/touche.cpp	2010-10-08 00:38:22.000000000 +0200
++++ branch-1-2-0/engines/touche/touche.cpp	2010-10-08 20:59:27.000000000 +0200
+@@ -302,6 +302,13 @@
+ 	while (_eventMan->pollEvent(event)) {
+ 		switch (event.type) {
+ 		case Common::EVENT_KEYDOWN:
++#ifdef	MAEMO_SDL
++			if (event.kbd.keycode == 13) { // select button simulates righ button toggle
++				_inp_rightMouseButtonPressed=!_inp_rightMouseButtonPressed;
++			} else {
++				_inp_rightMouseButtonPressed = false;
++			}
++#endif
+ 			if (!handleKeyEvents) {
+ 				break;
+ 			}
+@@ -312,10 +319,18 @@
+ 						quitGame();
+ 					}
+ 				}
++#ifdef	MAEMO_SDL
++			} else if (event.kbd.keycode == Common::KEYCODE_F4) {
++#else
+ 			} else if (event.kbd.keycode == Common::KEYCODE_F5) {
++#endif
+ 				if (_flagsTable[618] == 0 && !_hideInventoryTexts) {
+ 					handleOptions(0);
+ 				}
++#ifdef	MAEMO_SDL
++			} else if (event.kbd.keycode == Common::KEYCODE_F8) {
++				_fastWalkMode = !_fastWalkMode;
++#endif
+ 			} else if (event.kbd.keycode == Common::KEYCODE_F9) {
+ 				_fastWalkMode = true;
+ 			} else if (event.kbd.keycode == Common::KEYCODE_F10) {
+@@ -340,12 +355,22 @@
+ 		case Common::EVENT_LBUTTONDOWN:
+ 			_inp_leftMouseButtonPressed = true;
+ 			break;
++#ifdef	MAEMO_SDL
++		case Common::EVENT_LBUTTONUP:
++			// this is done elsewhere _inp_leftMouseButtonPressed = false;
++			_inp_rightMouseButtonPressed = false; // simulate rbutton up to close menu
++			break;
++		case Common::EVENT_RBUTTONDOWN:
++			_inp_rightMouseButtonPressed = !_inp_rightMouseButtonPressed;
++			break;
++#else
+ 		case Common::EVENT_RBUTTONDOWN:
+ 			_inp_rightMouseButtonPressed = true;
+ 			break;
+ 		case Common::EVENT_RBUTTONUP:
+ 			_inp_rightMouseButtonPressed = false;
+ 			break;
++#endif
+ 		default:
+ 			break;
+ 		}
+--- branch-1-2-0.orig/engines/sky/sky.cpp	2010-10-08 00:39:08.000000000 +0200
++++ branch-1-2-0/engines/sky/sky.cpp	2010-10-08 20:59:27.000000000 +0200
+@@ -408,6 +408,17 @@
+ 			switch (event.type) {
+ 			case Common::EVENT_KEYDOWN:
+ 				_keyPressed = event.kbd;
++#ifdef	MAEMO_SDL
++				// Maemo platform keybindings
++				if (_keyPressed.keycode == Common::KEYCODE_F4) // Map F4 (menu) to F5 (access main menu)
++					_keyPressed.keycode = Common::KEYCODE_F5;
++				if (_keyPressed.ascii == 13) // Map Select=Enter to right mouse button
++					_skyMouse->buttonPressed(1);
++				if (_keyPressed.keycode == Common::KEYCODE_F8) // Map F8 (zoom out) to toggle fast mode
++					_fastMode ^= 1;
++				if (_keyPressed.keycode == Common::KEYCODE_DOWN) // Map Down to . (skip one line of dialog)
++					_keyPressed.ascii = '.';
++#endif
+ 				break;
+ 			case Common::EVENT_MOUSEMOVE:
+ 				if (!(_systemVars.systemFlags & SF_MOUSE_LOCKED))
+--- branch-1-2-0.orig/engines/lure/menu.cpp	2010-10-08 00:39:16.000000000 +0200
++++ branch-1-2-0/engines/lure/menu.cpp	2010-10-08 20:59:27.000000000 +0200
+@@ -34,7 +34,7 @@
+ #include "lure/events.h"
+ #include "lure/lure.h"
+ 
+-#if defined(_WIN32_WCE) || defined(__SYMBIAN32__)
++#if defined(_WIN32_WCE) || defined(MAEMO_SDL) || defined(__SYMBIAN32__)
+ #define LURE_CLICKABLE_MENUS
+ #endif
+ 
+--- branch-1-2-0.orig/engines/cine/main_loop.cpp	2010-10-08 00:39:39.000000000 +0200
++++ branch-1-2-0/engines/cine/main_loop.cpp	2010-10-08 20:59:27.000000000 +0200
+@@ -75,18 +75,27 @@
+ 				mouseRight = 1;
+ 			}
+ 			break;
++#ifdef	MAEMO_SDL
++		case Common::KEYCODE_UP:
++#else
+ 		case Common::KEYCODE_F1:
++#endif
+ 			if (allowPlayerInput) {
+ 				playerCommand = 0; // EXAMINE
+ 				makeCommandLine();
+ 			}
+ 			break;
++#ifdef	MAEMO_SDL
++		case Common::KEYCODE_DOWN:
++#else
+ 		case Common::KEYCODE_F2:
++#endif
+ 			if (allowPlayerInput) {
+ 				playerCommand = 1; // TAKE
+ 				makeCommandLine();
+ 			}
+ 			break;
++#ifndef	MAEMO_SDL
+ 		case Common::KEYCODE_F3:
+ 			if (allowPlayerInput) {
+ 				playerCommand = 2; // INVENTORY
+@@ -99,13 +108,43 @@
+ 				makeCommandLine();
+ 			}
+ 			break;
++#else
++//map f3, f4 to f8,f7 = zoom +- keys, when in menu generate keypresses for savegame
++		case Common::KEYCODE_F8:
++			if (inMenu)
++				lastKeyStroke = '1';
++			else if (allowPlayerInput) {
++				playerCommand = 2; // INVENTORY
++				makeCommandLine();
++			}
++			break;
++		case Common::KEYCODE_F7:
++			if (inMenu)
++				lastKeyStroke = '2';
++			else 
++			if (allowPlayerInput) {
++				playerCommand = 3; // USE
++				makeCommandLine();
++			}
++			break;
++#endif
++#ifdef	MAEMO_SDL
++		case Common::KEYCODE_LEFT:
++//			if (event.kbd.flags&Common::KBD_SHIFT)
++//				moveUsingKeyboard(-1, 0); // Left
++#else
+ 		case Common::KEYCODE_F5:
++#endif
+ 			if (allowPlayerInput) {
+ 				playerCommand = 4; // ACTIVATE
+ 				makeCommandLine();
+ 			}
+ 			break;
++#ifdef	MAEMO_SDL
++		case Common::KEYCODE_RIGHT:
++#else
+ 		case Common::KEYCODE_F6:
++#endif
+ 			if (allowPlayerInput) {
+ 				playerCommand = 5; // SPEAK
+ 				makeCommandLine();
+@@ -117,7 +156,11 @@
+ 				makeCommandLine();
+ 			}
+ 			break;
++#ifdef	MAEMO_SDL
++		case Common::KEYCODE_F4: // Menu key
++#else
+ 		case Common::KEYCODE_F10:
++#endif
+ 			if (!disableSystemMenu && !inMenu) {
+ 				g_cine->makeSystemMenu();
+ 			}
+@@ -133,19 +176,19 @@
+ 		case Common::KEYCODE_KP_PLUS:
+ 			g_cine->modifyGameSpeed(+1); // Faster
+ 			break;
+-		case Common::KEYCODE_LEFT:
++//		case Common::KEYCODE_LEFT:
+ 		case Common::KEYCODE_KP4:
+ 			moveUsingKeyboard(-1, 0); // Left
+ 			break;
+-		case Common::KEYCODE_RIGHT:
++//		case Common::KEYCODE_RIGHT:
+ 		case Common::KEYCODE_KP6:
+ 			moveUsingKeyboard(+1, 0); // Right
+ 			break;
+-		case Common::KEYCODE_UP:
++//		case Common::KEYCODE_UP:
+ 		case Common::KEYCODE_KP8:
+ 			moveUsingKeyboard(0, +1); // Up
+ 			break;
+-		case Common::KEYCODE_DOWN:
++//		case Common::KEYCODE_DOWN:
+ 		case Common::KEYCODE_KP2:
+ 			moveUsingKeyboard(0, -1); // Down
+ 			break;
+--- branch-1-2-0.orig/backends/platform/sdl/graphics.cpp	2010-10-08 00:41:46.000000000 +0200
++++ branch-1-2-0/backends/platform/sdl/graphics.cpp	2010-10-08 20:59:27.000000000 +0200
+@@ -535,6 +535,56 @@
+ 	height = bestMode->h;
+ }
+ 
++#ifdef  MAEMO_SDL
++#include "SDL_syswm.h"
++
++static void maemo5_WM_init(int fullscreen){
++//static int fsdone=0;
++//static int wmdone=0;
++SDL_SysWMinfo info;                                                                                                                                  
++SDL_VERSION(&info.version);                                                                                                                          
++if ( SDL_GetWMInfo(&info) ) {                                                                                                                        
++        Display *dpy = info.info.x11.display;                                                                                                        
++        Window win;                                                                                                                                  
++        unsigned long val = 1;
++        Atom atom_zoom = XInternAtom(dpy, "_HILDON_ZOOM_KEY_ATOM", 0);
++        info.info.x11.lock_func();
++        win = info.info.x11.fswindow;                                                                                                                
++        if (win)
++                XChangeProperty (dpy,win,atom_zoom,XA_INTEGER,32,PropModeReplace,(unsigned char *) &val,1); // grab zoom keys
++        win = info.info.x11.wmwindow;                                                                                                                
++        if (win)
++                XChangeProperty (dpy,win,atom_zoom,XA_INTEGER,32,PropModeReplace,(unsigned char *) &val,1); // grab zoom keys
++#if 0
++        if (win && fullscreen /* && !fsdone */ ) {
++                XUnmapWindow(dpy,win);
++                XChangeProperty (dpy,win,atom_zoom,XA_INTEGER,32,PropModeReplace,(unsigned char *) &val,1); // grab zoom keys
++                Atom atom_noncomposited = XInternAtom(dpy, "_HILDON_NON_COMPOSITED_WINDOW", 0);
++                Atom atom_wmstate = XInternAtom(dpy, "_NET_WM_STATE", 0);
++                Atom atom_wmstate_fullscreen = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", 0);
++                XSetWindowAttributes xattr;
++                xattr.override_redirect = False;
++                XChangeProperty (dpy,win,atom_noncomposited,XA_INTEGER,32,PropModeReplace,(unsigned char *) &val,1); // make window not composited
++                //XChangeWindowAttributes(dpy, win, CWOverrideRedirect, &xattr); // 
++                XChangeProperty (dpy,win,atom_wmstate,XA_ATOM,32,PropModeReplace,(unsigned char *) &atom_wmstate_fullscreen,1); // mark as fullscreen = disable tskswitch button
++                XMapWindow(dpy,win);
++                //fsdone=1;
++        }
++        win = info.info.x11.wmwindow;
++        if (win && !fullscreen /* && !wmdone */) {
++                XUnmapWindow(dpy,win);
++                XChangeProperty (dpy,win,atom_zoom,XA_INTEGER,32,PropModeReplace,(unsigned char *) &val,1);
++                XMapWindow(dpy,win);
++                //wmdone=1;
++        }
++#endif
++        info.info.x11.unlock_func();
++//      XSync(dpy,False);
++}                                                                                                                                                    
++}
++#endif
++
++
+ bool OSystem_SDL::loadGFXMode() {
+ 	assert(_inited);
+ 	_forceFull = true;
+@@ -575,6 +625,9 @@
+ 		error("allocating _screen failed");
+ #endif
+ 
++#ifdef  MAEMO_SDL                                                                                                                                            
++        maemo5_WM_init(_videoMode.fullscreen);                                                                                                               
++#endif                                                                                                                                                       
+ 	//
+ 	// Create the surface that contains the scaled graphics in 16 bit mode
+ 	//
+@@ -959,6 +1012,14 @@
+ 		_videoMode.fullscreen = enable;
+ 		_transactionDetails.needHotswap = true;
+ 	}
++#ifdef MAEMO_SDL
++	char *caption;
++	char title[50];
++	title[49] = '\0';
++	SDL_WM_GetCaption(&caption, NULL);
++	if (caption!=NULL) {strncpy(title,caption,49);
++	setXWindowName(caption); }
++#endif
+ }
+ 
+ void OSystem_SDL::setAspectRatioCorrection(bool enable) {
+--- branch-1-2-0.orig/backends/platform/sdl/sdl.cpp	2010-10-08 00:41:46.000000000 +0200
++++ branch-1-2-0/backends/platform/sdl/sdl.cpp	2010-10-08 20:59:27.000000000 +0200
+@@ -48,6 +48,10 @@
+ #include "icons/scummvm.xpm"
+ 
+ #include <time.h>	// for getTimeAndDate()
++#ifdef        MAEMO_SDL
++#include <SDL/SDL_syswm.h>
++#include <X11/Xutil.h>
++#endif
+ 
+ //#define SAMPLES_PER_SEC 11025
+ #define SAMPLES_PER_SEC 22050
+@@ -214,7 +218,15 @@
+ 		_timerID = SDL_AddTimer(10, &timer_handler, _timer);
+ 	}
+ 
+-	// Invoke parent implementation of this method
++#ifdef        MAEMO_SDL
++	// some keymappings are done differently for devices with full keyboard (N810=RX-34)
++	_have_keyboard=0;
++	char *device=getenv("SCUMMVM_MAEMO_DEVICE");
++	if (device != NULL)
++	if ( (strcmp(device,"RX-44") == 0) || (strcmp(device,"RX-48") == 0) || (strcmp(device,"RX-51") == 0))
++	    _have_keyboard=1;
++#endif
++ 	// Invoke parent implementation of this method
+ 	OSystem::initBackend();
+ 
+ 	_inited = true;
+@@ -427,6 +439,23 @@
+ 	return file.createWriteStream();
+ }
+ 
++#ifdef MAEMO_SDL
++void OSystem_SDL::setXWindowName(const char *caption) {
++	SDL_SysWMinfo info;
++	SDL_VERSION(&info.version);
++	if ( SDL_GetWMInfo(&info) ) {
++		Display *dpy = info.info.x11.display;
++		Window win;
++		//if (_videoMode.fullscreen)
++		win = info.info.x11.fswindow;
++		if (win) XStoreName(dpy, win, caption);
++		//else
++		win = info.info.x11.wmwindow;
++		if (win) XStoreName(dpy, win, caption);
++	}
++}
++#endif	
++
+ void OSystem_SDL::setWindowCaption(const char *caption) {
+ 	Common::String cap;
+ 	byte c;
+@@ -443,6 +472,11 @@
+ 	}
+ 
+ 	SDL_WM_SetCaption(cap.c_str(), cap.c_str());
++#ifdef MAEMO_SDL
++	Common::String cap2("ScummVM - "); // 2 lines in OS2008 task switcher, set first line
++	cap=cap2+cap;
++	setXWindowName(cap.c_str());
++#endif	
+ }
+ 
+ bool OSystem_SDL::hasFeature(Feature f) {
+@@ -519,6 +553,14 @@
+ #endif
+ }
+ 
++#ifdef MAEMO_SDL
++// no Maemo version needs setupIcon
++// also N900 is hit by SDL_WM_SetIcon bug (window cannot receive input)
++// http://bugzilla.libsdl.org/show_bug.cgi?id=586
++void OSystem_SDL::setupIcon() {
++    ;
++}
++#else
+ void OSystem_SDL::setupIcon() {
+ 	int x, y, w, h, ncols, nbytes, i;
+ 	unsigned int rgba[256];
+@@ -570,6 +612,7 @@
+ 	SDL_FreeSurface(sdl_surf);
+ 	free(icon);
+ }
++#endif
+ 
+ OSystem::MutexRef OSystem_SDL::createMutex() {
+ 	return (MutexRef) SDL_CreateMutex();
+--- branch-1-2-0.orig/backends/platform/sdl/events.cpp	2010-10-08 00:41:46.000000000 +0200
++++ branch-1-2-0/backends/platform/sdl/events.cpp	2010-10-08 21:09:34.000000000 +0200
+@@ -26,6 +26,10 @@
+ #include "backends/platform/sdl/sdl.h"
+ #include "common/util.h"
+ #include "common/events.h"
++#ifdef MAEMO_SDL
++#include "common/config-manager.h"
++#endif
++
+ #include "graphics/scaler/aspect.h"	// for aspect2Real
+ 
+ // FIXME move joystick defines out and replace with confile file options
+@@ -234,8 +238,13 @@
+ 
+ bool OSystem_SDL::handleKeyDown(SDL_Event &ev, Common::Event &event) {
+ 
++#ifdef MAEMO_SDL
++// we want to remap first including ctr/shift/alt modifiers
++	const bool event_complete = remapKey(ev, event);
++	SDLModToOSystemKeyFlags(ev.key.keysym.mod, event);  
++#else
+ 	SDLModToOSystemKeyFlags(SDL_GetModState(), event);
+-
++#endif
+ 	// Handle scroll lock as a key modifier
+ 	if (ev.key.keysym.sym == SDLK_SCROLLOCK)
+ 		_scrollLock = !_scrollLock;
+@@ -243,8 +252,13 @@
+ 	if (_scrollLock)
+ 		event.kbd.flags |= Common::KBD_SCRL;
+ 
++#ifdef MAEMO_SDL
++	// fullscreen button or ctrl+space toggle full screen mode
++	if (ev.key.keysym.sym == SDLK_F6 || (_have_keyboard && event.kbd.hasFlags(Common::KBD_CTRL) && (ev.key.keysym.sym == SDLK_SPACE) ) ) {
++#else
+ 	// Alt-Return and Alt-Enter toggle full screen mode
+ 	if (event.kbd.hasFlags(Common::KBD_ALT) && (ev.key.keysym.sym == SDLK_RETURN || ev.key.keysym.sym == SDLK_KP_ENTER)) {
++#endif
+ 		beginGFXTransaction();
+ 			setFullscreenMode(!_videoMode.fullscreen);
+ 		endGFXTransaction();
+@@ -278,11 +292,15 @@
+ 		return false;
+ 	}
+ 
++#ifndef MAEMO_SDL
+ 	// Ctrl-m toggles mouse capture
+ 	if (event.kbd.hasFlags(Common::KBD_CTRL) && ev.key.keysym.sym == 'm') {
+ 		toggleMouseGrab();
+ 		return false;
+ 	}
++#else
++// mouse capture makes no sense for Maemo and ctrl+m is used for global menu
++#endif
+ 
+ #if defined(MACOSX)
+ 	// On Macintosh', Cmd-Q quits
+@@ -315,7 +333,11 @@
+ 			return false;
+ 	}
+ 
++#ifdef MAEMO_SDL
++	if (event_complete)
++#else
+ 	if (remapKey(ev, event))
++#endif
+ 		return true;
+ 
+ 	event.type = Common::EVENT_KEYDOWN;
+@@ -334,7 +356,12 @@
+ 	event.kbd.ascii = mapKey(ev.key.keysym.sym, ev.key.keysym.mod, ev.key.keysym.unicode);
+ 
+ 	// Ctrl-Alt-<key> will change the GFX mode
++#ifdef MAEMO_SDL
++	// we can't call SDL_GetModState(), modifiers can be remapped too
++	SDLModToOSystemKeyFlags(ev.key.keysym.mod, event);  
++#else
+ 	SDLModToOSystemKeyFlags(SDL_GetModState(), event);
++#endif
+ 
+ 	// Set the scroll lock sticky flag
+ 	if (_scrollLock)
+@@ -356,8 +383,20 @@
+ }
+ 
+ bool OSystem_SDL::handleMouseButtonDown(SDL_Event &ev, Common::Event &event) {
++#ifdef	MAEMO_SDL
++	if (ev.button.button == SDL_BUTTON_LEFT){
++	SDLMod mod=SDL_GetModState();
++	if (mod & KMOD_SHIFT)
++		event.type = Common::EVENT_RBUTTONDOWN;
++	else if ( mod & KMOD_CTRL)
++		event.type = Common::EVENT_MOUSEMOVE;
++	else
++		event.type = Common::EVENT_LBUTTONDOWN;
++	}
++#else
+ 	if (ev.button.button == SDL_BUTTON_LEFT)
+ 		event.type = Common::EVENT_LBUTTONDOWN;
++#endif
+ 	else if (ev.button.button == SDL_BUTTON_RIGHT)
+ 		event.type = Common::EVENT_RBUTTONDOWN;
+ #if defined(SDL_BUTTON_WHEELUP) && defined(SDL_BUTTON_WHEELDOWN)
+@@ -373,14 +412,33 @@
+ 	else
+ 		return false;
+ 
++#ifdef MAEMO_SDL
++	// we have touchscreen so we may have no mousemotion events between taps
++	setMousePos(event.mouse.x, event.mouse.y);
++	// this is trying to fix wrong action done by mouse click in some engines
++	// it looks like clicking affects objects in previous mouse position
++	// if this does not help we should perhaps generate some fake mouse motion event(s) 
++#endif
+ 	fillMouseEvent(event, ev.button.x, ev.button.y);
+ 
+ 	return true;
+ }
+ 
+ bool OSystem_SDL::handleMouseButtonUp(SDL_Event &ev, Common::Event &event) {
++#ifdef	MAEMO_SDL
++	if (ev.button.button == SDL_BUTTON_LEFT){
++		SDLMod mod=SDL_GetModState();
++		if (mod & KMOD_SHIFT)
++			event.type = Common::EVENT_RBUTTONUP;
++		else if ( mod & KMOD_CTRL)
++			event.type = Common::EVENT_MOUSEMOVE;
++		else
++			event.type = Common::EVENT_LBUTTONUP;
++	}
++#else
+ 	if (ev.button.button == SDL_BUTTON_LEFT)
+ 		event.type = Common::EVENT_LBUTTONUP;
++#endif
+ 	else if (ev.button.button == SDL_BUTTON_RIGHT)
+ 		event.type = Common::EVENT_RBUTTONUP;
+ #if defined(SDL_BUTTON_MIDDLE)
+@@ -504,7 +562,203 @@
+ 	return true;
+ }
+ 
++// called on SDL KEYUP and KEYDOWN events
+ bool OSystem_SDL::remapKey(SDL_Event &ev, Common::Event &event) {
++#ifdef MAEMO_SDL
++	static int engine=0;
++#define	ENG_OTHER	-1
++//#define	ENG_SCUMM	1
++	static int game=0;
++#define GAME_OTHER	-1	
++#define GAME_LURE	1
++#define GAME_SWORD1	2
++#define GAME_SWORD2	3
++#define GAME_SAGA	4
++#define GAME_FW		5
++//#define GAME_SIMON1	6
++//#define GAME_SIMON2	7
++#define GAME_FEEBLE	8
++//#define GAME_TOUCHE	9
++#define GAME_DISCWORLD	10
++#define GAME_CRUISE	11
++
++
++	if (engine == 0){
++		// one time initialization
++		Common::String gameid(ConfMan.get("gameid"));
++		if (gameid.hasPrefix("lure")) {
++			game=GAME_LURE;
++			engine=ENG_OTHER;
++		} else if (gameid.hasPrefix("sword2")) {
++			game=GAME_SWORD2;
++			engine=ENG_OTHER;
++		} else if (gameid.hasPrefix("cine")) {
++			game=GAME_FW;
++			engine=ENG_OTHER;
++/*		} else if (gameid == "touche") {
++			game=GAME_TOUCHE;
++			engine=ENG_OTHER;
++		} else if (gameid == "simon1") {
++			game=GAME_SIMON1;
++			engine=ENG_OTHER;
++		} else if (gameid == "simon2") {
++			game=GAME_SIMON2;
++			engine=ENG_OTHER;
++*/
++		} else if (gameid.hasPrefix("feeble")) {
++			game=GAME_FEEBLE;
++			engine=ENG_OTHER;
++		} else if (gameid.hasPrefix("sword1")) {
++			game=GAME_SWORD1;
++			engine=ENG_OTHER;
++		} else if (gameid.hasPrefix("saga")) {
++			game=GAME_SAGA;
++			engine=ENG_OTHER;
++		} else if (gameid.hasPrefix("tinsel")) {
++			game=GAME_DISCWORLD;
++			engine=ENG_OTHER;
++		} else if (gameid.hasPrefix("cruise")) {
++			game=GAME_CRUISE;
++			engine=ENG_OTHER;
++		} else {
++			game=GAME_OTHER;
++			engine=ENG_OTHER;
++		}
++	}
++	// global mapping - N810, N900
++	if (_have_keyboard && (ev.key.keysym.mod & KMOD_CTRL)){
++		// map ctrl-m to ctrl F5 = global scummvm menu 
++		if (ev.key.keysym.sym==SDLK_m) ev.key.keysym.sym=SDLK_F5 ;
++	}
++        if (_have_keyboard && (ev.key.keysym.mod & KMOD_SHIFT)){
++                // map shift backspace to escape, shift enter to menu key
++                if (ev.key.keysym.sym==SDLK_BACKSPACE) { ev.key.keysym.sym=SDLK_ESCAPE ; ev.key.keysym.mod = (SDLMod) (ev.key.keysym.mod & ~KMOD_SHIFT); }
++                if (ev.key.keysym.sym==SDLK_KP_ENTER) { ev.key.keysym.sym=SDLK_F4; ev.key.keysym.mod = (SDLMod) (ev.key.keysym.mod & ~KMOD_SHIFT); }
++        }
++														 
++	// engine specific mappings
++	switch (engine){
++		// nothing now
++	}
++	// game specific mapping
++	switch (game) {
++		case GAME_LURE:
++			if ((ev.key.keysym.sym==SDLK_F8 && _have_keyboard ) || (ev.key.keysym.sym==SDLK_F4 && !_have_keyboard)){
++				// map zoom - to right click if we have keyboard (N810), otherwise map menu key (770,N800)
++				event.type = ((ev.type==SDL_KEYUP) ? Common::EVENT_RBUTTONUP : Common::EVENT_RBUTTONDOWN );
++				event.mouse.x = _mouseCurState.x;
++				event.mouse.y = _mouseCurState.y;
++				return true;			 
++			
++			}
++			switch(ev.key.keysym.sym){
++				case SDLK_F5: // map F5 (home key) to f9 = restart game
++					ev.key.keysym.sym=SDLK_F9;
++					break;
++				case SDLK_F8: // map F8 (zoom - key) to F5 (save dialog) in game
++					ev.key.keysym.sym=SDLK_F5;
++					break;
++				case SDLK_F4: // same as above, only one mapping happens due to right click maping above 
++					ev.key.keysym.sym=SDLK_F5;
++				default:
++					;
++			}
++			break;
++		case GAME_FW:
++			// Future Wars - no mapping here, done in game engine
++			break;
++		case GAME_FEEBLE:
++			if ((ev.key.keysym.sym==SDLK_F8 && _have_keyboard ) || (ev.key.keysym.sym==SDLK_F4 && !_have_keyboard)){
++				// map zoom - to right click if we have keyboard (N810), otherwise map menu key (770,N800)
++				event.type = ((ev.type==SDL_KEYUP) ? Common::EVENT_RBUTTONUP : Common::EVENT_RBUTTONDOWN );
++				event.mouse.x = _mouseCurState.x;
++				event.mouse.y = _mouseCurState.y;
++				return true;			 
++			
++			}
++			if (!_have_keyboard) switch(ev.key.keysym.sym){
++				case SDLK_F7: // map F7 (zoom + key) to letter y
++					ev.key.keysym.sym=SDLK_y;
++					break;
++				case SDLK_F8: // map F8 (zoom - key) to letter 1
++					ev.key.keysym.sym=SDLK_1;
++					break;
++				default:
++					;
++			} 
++			break;
++		case GAME_DISCWORLD:
++			switch(ev.key.keysym.sym) {
++				case SDLK_F8: // map F8 (zoom - key) to right click
++					event.type = ((ev.type==SDL_KEYUP) ? Common::EVENT_RBUTTONUP : Common::EVENT_RBUTTONDOWN );
++					event.mouse.x = _mouseCurState.x;
++					event.mouse.y = _mouseCurState.y;
++					return true;
++				// now map F7 (=zoom+) to Enter for N810 (useful when closed)				 
++				case SDLK_F7:
++					if (_have_keyboard) ev.key.keysym.sym=SDLK_RETURN; else ev.key.keysym.sym=SDLK_y;
++					break;
++				case SDLK_F4: // map menu key to game menu
++				case SDLK_F5: // swap/home key too
++					ev.key.keysym.sym=SDLK_F1;
++					break; 
++				default:
++					;			
++			}
++			break;
++		case GAME_CRUISE:
++			switch(ev.key.keysym.sym) {
++				case SDLK_F8: // map F8 (zoom - key) to right click
++					event.type = ((ev.type==SDL_KEYUP) ? Common::EVENT_RBUTTONUP : Common::EVENT_RBUTTONDOWN );
++					event.mouse.x = _mouseCurState.x;
++					event.mouse.y = _mouseCurState.y;
++					return true;
++				// now map F7 (=zoom+) to menu for N810 (useful when closed)				 
++				case SDLK_F7:
++					if (_have_keyboard) ev.key.keysym.sym=SDLK_F10; else ev.key.keysym.sym=SDLK_p;
++					break;
++				case SDLK_F4: // map menu key to game menu
++					ev.key.keysym.sym=SDLK_F10;
++					break; 
++				default:
++					;			
++			}
++			break;
++		default:
++		//case GAME_SWORD2:
++		//case GAME_SWORD1:
++		//case GAME_SAGA: //I Have No Mouth
++			if (!_have_keyboard) switch(ev.key.keysym.sym){
++				case SDLK_F7: // map F7 (zoom + key) to letter y for save game entry and 'yes' replies (simon, touche)
++					ev.key.keysym.sym=SDLK_y;
++					break;

@@ Diff output truncated at 100000 characters. @@

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list