Best Practice (as of 2013) for Accelerator Keys
brahma at hindu.org
Mon May 27 18:43:44 EDT 2013
I have an old app (build circa 2002) that still runs amazingly well. I
have done a few small updates over time, but the basics remain the same.
It is a transcription program that requires quicktime and functions like
the old pedal deals where you stop and start the tape. I added other
bells and whistles, like downloading .mp3 file from our server, save XML
transcripts to the server via Post to a CGI and some user
authentication... and a spell checker dynamically downloaded
But the basics are simple: use picks an audio file (with a button) a
path is set on a player... click "Play"... must wait a few seconds
(5-10) for quicktime to register the time codes so that i can get a
currentTime and then we use this in stop, back, forward, resume buttons.
Now: loooooong ago I set up these keys:
-->Accelerators for buttons <--
set the acceleratorKey of button "Stop" to "1"
set the acceleratorModifiers of button "Stop" to alt
set the acceleratorKey of button "Back up" to "2"
set the acceleratorModifiers of button "Back up" to alt
set the acceleratorKey of button "Forward" to "3"
set the acceleratorModifiers of button "Forward" to alt
set the acceleratorKey of button "Resume" to "4"
set the acceleratorModifiers of button "Resume" to alt
But now I'm getting reports from a Windows 8 user that
a) the alt key does not in fact work on his machine for this, but the
control key does...and apparently this is what you use on Windows Media
b) occasionally he will get a failure of "control-1" which will not
stop the player as expected. instead he has to hit "control-4" to
resume and *then* control-1 will work
set the playrate of player "TheTape" to 0
put fld "theMovieTime" into fld "saveTime"
disable button "back up"
disable button "Forward"
enable button "Back Up"
enable button "Forward"
if the hilite of btn "resumeBack" then
send mouseup to btn "Back Up"
if the currentTime of player "theTape" = 0 then
send mouseUp to button "Pick up from last session"
set the playrate of player "theTape" to fld "speed"
--starts player "theTape"
Those were my very naive days... today I would put these commands into
commands in the card or stack script and call them from the buttons.
Also I have a menu with Stop | Back | Forward | Resume| and these
also just ""ping" the buttons to do their work.
but I was never able to successfully append the right key codes to the
end of the menu items such that they would work on both Mac and Windows.
So, what I'm looking for is today's best practices for accelerator keys
that run cross platform, as my current method are, literally, 11 years
old in this app.
Kauai's Hindu Monastery
More information about the Use-livecode