Detect scroll activity (when LC is not frontmost)

Mike Bonner bonnmike at gmail.com
Sun Dec 25 17:42:16 CET 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
> intervals.
>
> 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.
>
> Richmond.
>
> 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
>> loopit
>> 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
>> math
>> is done to convert to seconds of idle.
>>
>> The are only 2 disclaimers here.  First is that the value returned pre
>> 10.3
>> 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>
>> wrote:
>>
>> 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:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>>
>>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>


More information about the use-livecode mailing list