SHIFTkey horrors

Mike Bonner bonnmike at gmail.com
Wed May 9 09:13:19 EDT 2012


Shouldn't be a big deal, in fact during the game academy a game loop
(interesting code by the way) was used that did all kinds of things at
approximately 50fps with enough time to animate, accept keypresses and
mouse events etc. Think the stack code can be found in the forums somewhere
if you want to look at it. It worked really well.

In your case since its going to be pretty much
is shiftkeydown
check a property to see if it was already down
if not, change keyboard and set state property, otherwise do nothing
correct keyboard already showing
if shiftkey is up
check property to see if it was already up
if not, change keyboard and set state property, otherwise do nothing the
correct keyboard is already showing


If coded right most of the loops will execute 2 if checks (sure it could be
done other ways) The only time any more code would run is on a shiftkey
state change.

Of course I don't know if "if shifkey() is down and the shiftkeystate of
this stack is not "down" then." is faster than 2 separate ifs but suspect
its 6 of 1 half dozen of the other.






> That sounds a good idea.
>
> BUT isn't the 'send' going to slow things down with regard to other
> keystrokes?
>
>
>> On Wed, May 9, 2012 at 6:43 AM, Richmond <richmondmathewson at gmail.com>**
>> wrote:
>>
>>  What follows is an extract from a message I have just sent to a
>>> colleague;
>>> it concerns
>>> a really large problem:
>>>
>>> ------------------------------****----------------------------**--**
>>> ------------------------------****-----------------------
>>>
>>>
>>> "Then when the shift key is held down, all the vowels appear, type your
>>> vowel,
>>> then when you let go, the consonant panel appears again
>>> This behavior will be *very* familiar to everyone..."
>>>
>>> That would be perfectly alright (and it appeals to me) if it were not for
>>> a limitation in Livecode and/or Macintosh; that when one presses
>>> the SHIFT key on a Mac keyboard a Livecode stack does not receive a
>>> rawKeyDown signal: this has also been discussed between us
>>> several times.
>>>
>>> For instance; one could have a very simple bit of code rather like this:
>>>
>>> if shiftkey() is down then
>>>  --do something--
>>> else
>>>  --do something else--
>>> end if
>>>
>>> and it would work without a hitch.
>>>
>>> What one CANNOT do is something like this:
>>>
>>> on rawKeyDown KEE
>>>  if KEE= XXXX  then --where 'XXXX' is a number--
>>>    ---do something----
>>>  else
>>>    ---do something else---
>>>  end if
>>> end rawKeyDown
>>>
>>> as pressing the SHIFTkey on a Mac keyboard does not generate a rawKeyDown
>>> number
>>> rather like the DELETEkey generates 65288
>>>
>>> this has been a "right bu**er" all along.
>>>
>>> SO; it is perfectly possible to have a KEY on the keyboard generate a
>>> consonant when the SHIFTkey is NOT down,
>>> and a vowel when the SHIFTkey is down; but one cannot change the display
>>> that the typist sees in front of him on the screen.
>>>
>>> [come to think of things, I'm going to post this bit 'up' on the Use-List
>>> on the off-chance that some wise soul has
>>> found a work-around for this old chestnut]
>>>
>>> Please don't think I'm so daft I haven't thought about this "one" long
>>> and
>>> hard . . .  :)
>>>
>>> ------------------------------****----------------------------**--**
>>>
>>> -----------------
>>>
>>> does anybody have any suggestions as to how one might circumvent this
>>> problem?
>>>
>>> sincerely, Richmond.
>>>
>>> ______________________________****_________________
>>>
>>> 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<http://lists.runrev.com/**mailman/listinfo/use-livecode>
>>> <**http://lists.runrev.com/**mailman/listinfo/use-livecode<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<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<http://lists.runrev.com/mailman/listinfo/use-livecode>
>



More information about the use-livecode mailing list