Re: mouse grabbing gotcha (was: dosemu 1.1.3.9 user report)

Stas Sergeev
2002-12-17T02:25:54Z

[-- Attachment #1: Type: text/plain, Size: 1005 bytes --]

Hello.

Bart Oldeman wrote:
>> default "Home" should be changed.
> Pause is already taken as being a force pause (freeze).
But it doesn't actually work, it
just lock up dosemu in a non-TSC
mode unless the attached patch is
applied.

> One problem is that you can define just about any keycombo in some of
> these window managers, so there is nothing that works everywhere;
Well, there are either the combos
that are always reserved by some
WMs, and those can and should be
avoided.

> however some combinations are used more often than others.
User-defined combos is not something
we have to care about, that was not
what I mean.

> ctrl+alt+scroll_lock might be something that makes sense though, since
> you're locking the mouse.
The only disadvantage of it is that
it switches a scroll-lock led:)

> For KDE I have ctrl+alt+esc (kill), ctrl+alt+del (logout).
And you'll probably never know what
other combos it already reserved
without you even asking it about:)
I think dosemu can avoid using those.

[-- Attachment #2: cputime.diff --]
[-- Type: text/plain, Size: 1406 bytes --]

--- src/emu-i386/cputime.c Mon Dec 16 00:45:12 2002
+++ src/emu-i386/cputime.c Tue Dec 17 04:54:30 2002
@@ -181,7 +181,6 @@
* but only flags processing (& other features) */
RAWcpuTIME = rawP5time; /* in usecs */
GETcpuTIME = getP5time; /* in usecs */
- ZeroTimeBase.td = GETTSC(); /* in CPU cycles */
g_printf("TIMER: using pentium timing\n");
}
else {
@@ -189,7 +188,6 @@
* 'rdtsc off' into config file */
RAWcpuTIME = rawC4time; /* in usecs */
GETcpuTIME = getC4time; /* in usecs */
- ZeroTimeBase.td = rawC4time(); /* in usecs */
if (config.realcpu) {
if (kernel_version_code < 0x2017e)
g_printf("TIMER: using gettimeofday\n");
@@ -197,6 +195,7 @@
g_printf("TIMER: using new gettimeofday with microsecond resolution\n");
}
}
+ ZeroTimeBase.td = RAWcpuTIME();
}

@@ -208,7 +207,7 @@
if (cpu_time_stop) return 1;
if (!quiet) dbug_printf("STOP TIME\n");
StopTimeBase = RAWcpuTIME();
- LastTimeRead = StopTimeBase - TSCtoUS(ZeroTimeBase.td);
+ LastTimeRead = StopTimeBase - ZeroTimeBase.td;
cpu_time_stop = 1;
return 0;
}
@@ -218,7 +217,7 @@
{
if (!cpu_time_stop) return 1;
if (!quiet) dbug_printf("RESTART TIME\n");
- ZeroTimeBase.td += ((RAWcpuTIME() - StopTimeBase) * config.CPUSpeedInMhz);
+ ZeroTimeBase.td += RAWcpuTIME() - StopTimeBase;
cpu_time_stop = 0;
return 0;
}