I'm using rdesktop 1.5.0 on Debian GNU/Linux to access a Windows XP host.
When I run CorelDRAW X3 (that would be version 14 if they still used
numbers) in a remote desktop session, it ignores mouse wheel events. Other
applications, including Windows Explorer, Opera browser, and even Corel
PHOTO-PAINT, all respond to mouse wheel as expected. The mouse wheel
should zoom in and out in CorelDRAW, but it doesn't.
When running CorelDRAW at the physical console, the wheel works.
Interesting enough, if CorelDRAW is started at the physical console, then
you detach from the session at the console ("Switch user"), and attach to
that session with rdesktop, then the wheel continues to work! On the other
hand, if CorelDRAW is first started in a remote desktop session, then you
disconnect and attach to the session at the console, the wheel doesn't
work. So it seems like CorelDRAW does some kind of a check at startup, and
the remembered result of that check later affects whether or not the wheel
events are ignored.
I tried disassembling CorelDRAW binaries (the EXE and all DLLs) and
finding all invocations of GetSystemMetrics. There was one call to
GetSystemMetrics(SM_MOUSEWHEELPRESENT) and three calls to
GetSystemMetrics(SM_REMOTESESSION). Byte-patching the binaries to use
constants (1 and 0, respectively) instead of calling these wasn't
fruitful. Patching the former and two of the latter didn't produce
noticeable result, and patching the third SM_REMOTESESSION check made the
program silently terminate at startup. Probably this check activates some
important workaround necessary for running in a remote desktop session.
Searching Google for mouse wheel problems in CorelDRAW under remote
desktop didn't yield any useful results. I'm quite stuck now, and shall be
grateful for any help.
Alexey Feldgendler <alexey@...>
[ICQ: 115226275] http://feldgendler.livejournal.com
Get latest updates about Open Source Projects, Conferences and News.