Detect scroll activity (when LC is not frontmost)
bonnmike at gmail.com
Sun Dec 25 11:42:16 EST 2016
Using my script, the numbers will change every 2 seconds. If you do
nothing and watch the numbers, the digits to the left of the decimal should
increase by approximately 2 each cycle.
If you type, scroll, whatever, the number should shrink (possibly even a 0
to the left of the decimal)
What version of osx are you using?
On Sun, Dec 25, 2016 at 9:39 AM, Richmond Mathewson <
richmondmathewson at gmail.com> wrote:
> I have just tried this:
> 1. When the stack is frontMost it puts
> a large digit number (5-8 after the decimal point) into the field at all
> sorts of
> There is no obvious connexion between any of these numbers and the keys I
> am currently bashing on
> to type this message, nor when I use the scroll wheel on my mouse,
> numbers are changing even when I am doing nothing beyod sitting here with
> my mouth open
> watching the stack and wondering how those numbers can be shown to have
> any direct
> correspondence with any user input.
> 2. Certainly the stack is picking something up, but if it is detecting
> scroll activity it is not doing it
> in any obviously useful fashion.
> On 12/25/16 5:56 pm, Mike Bonner wrote:
>> I have an answer..
>> Heres a sample script:
>> local sRunning
>> on mouseUp
>> if sRunning is empty then put false into sRunning
>> put not sRunning into sRunning
>> end mouseUp
>> command loopit
>> if sRunning then
>> put the last word of (shell("ioreg -c IOHIDSystem |grep Idle")) into tIdle
>> put tIdle / 1000000000 into field 1
>> send "loopit" to me in 2 sec
>> end if
>> end loopit
>> The script is in a button, and I have a single field on the card. The
>> is done to convert to seconds of idle.
>> The are only 2 disclaimers here. First is that the value returned pre
>> is hex so you'd have to handle that if you have an earlier osx. 10.3 and
>> after this solution should work fine.
>> The second issue is is that on mac 10.12, the idle time won't update on
>> typing. Its an osx issue for that specific version, but worst case you
>> already have a method to track keypresses.
>> On Sun, Dec 25, 2016 at 8:21 AM, Paul Dupuis <paul at researchware.com>
>> On 12/25/2016 10:05 AM, Terry Vogelaar wrote:
>>>> So it starts to become clear that it might not be possible to do what I
>>> want. Although I hope to be wrong about that.
>>> I think it is very unlikely you can do this in LC - without externals or
>>> LCB widgets from "infinite Livecode".
>>> The active mouse and keyboard drivers capture events from these devices
>>> and pass that information to the operating system, which massages the
>>> data and passed a higher level of events on to the active application,
>>> which looks for such events and handles them. In the case of the
>>> LiveCode engine - or any app built on the LC engine - that is executing
>>> applicable messages for your scripts to handle.
>>> Most productivity tracking software works by effectively inserting code
>>> into where the device drivers meet the operating system, so that mouse
>>> and keyboard events are captured by the productivity app's as well as
>>> being sent by the OS to the active application as normal.
>>> Using LCB and LC9.0 you might be able to write an LCB widget that does
>>> this, but I am not familiar enough with current OSX APIs for event
>>> capture or drivers under OSX to or the state of work in LC9.0 on
>>> integrating OS API calls to say for sure.
>>> You are unlikely to be able to do what you want in LiveCode script alone.
>>> use-livecode mailing list
>>> use-livecode at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your
>>> subscription preferences:
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
More information about the Use-livecode