Path: utzoo!attcan!uunet!wuarchive!cs.utexas.edu!yale!bunker!hcap!hnews!115!778.1!Eric.Bohlman From: Eric.Bohlman@p1.f778.n115.z1.fidonet.org (Eric Bohlman) Newsgroups: misc.handicap Subject: Cursor tracking Message-ID: <14032@bunker.UUCP> Date: 12 Sep 90 18:37:51 GMT Sender: wtm@bunker.UUCP Reply-To: Eric.Bohlman@p1.f778.n115.z1.fidonet.org Distribution: misc Organization: FidoNet node 1:115/778.1 - COPH-2 (BGMS), Chicago IL Lines: 31 Approved: wtm@bunker.UUCP Index Number: 10255 [This is from the Blink Talk Conference] There are two places where a speech program can find the cursor location. The first is a few locations in low memory maintained by the BIOS. Whenever a BIOS function is used to move the cursor, these locations are updated. A lot of software that writes directly to the screen still uses the BIOS functions to move the cursor and do scrolling, so those locations are usually up to date. The second place is a couple of registers on the CRT controller chip. These are what actually determine which character on the screen is going to have a blinking line under it. The BIOS routines update these registers, and some software writes to them directly. With all that said, there are some programs where neither location will tell you where you are on the screen. For example, it's perfectly possible to have a lightbar moving all over the screen with the cursor constantly parked in one corner. The screen is just an array of characters and attributes, and can be accessed directly without affecting the cursor. This sort of thing is becoming more and more common. That's why Tinytalk has lightbar-detection windows as well as a lightbar-reading option associated with cursor tracking. The latter depends on the cursor moving with the lightbar (but doesn't slow the system down); the former continuously monitors a section of the screen for attribute changes. This is more general, but on a slow machine it can eat up a lot of processor time. -- Uucp: ..!{decvax,oliveb}!bunker!hcap!hnews!115!778.1!Eric.Bohlman Internet: Eric.Bohlman@p1.f778.n115.z1.fidonet.org