Hi all,
Several years ago when I used GMud, I modified my screen reader in the following way.
The reader would take a typical MUD prompt segmented in some way (with commas or whatever dividing the stats), and firstly and most importantly not read it. As blind MUDders we don't need our vital information read continuously after each command, it's way too distracting to be useful.
So my solution was to proverbially take each stat of the prompt and throw it into a variable, which could be echoed back via a keypress.
An example:
Note the ampersands - historically I used them to pad the prompt to be sure of a unique value. of course I couldn't use a trigger within the old client because there was no interface with a screen reader. Anyway if I were to press the first of my established keys after all this, I'd hear just the hitpoints echoed back at me and nothing else. Same goes for the next two. And there you had it: real time prompt information with the ability to dip into just the bits you want - skimreading for the blind, of a sort...
I never got to release the code because the average screen reader user did not want to mess about installing it - so now I've hacked up a substitute in MUSHclient.
It works, at present, as a script not a plugin:
There are several problems with this set-up I was hoping anyone could advise on:
Perhaps I'm missing something supremely obvious - is there a better way of doing what I want to? I envisaged a plugin loaded for any world. But perhaps I'm trying to modularise too far; after all, the trigger is in the world but the processing is in the script.
Anyway, although the thing is a bit of a cludge its there for those blind people who might benefit and those coders who might care to advise me of a decent way to go about upgrading it.
Http://www.randylaptop.com/article/MUSHclient
or directly,
http://www.randylaptop.com/get/MUSHclient/keyboardprompt.vbs
Several years ago when I used GMud, I modified my screen reader in the following way.
The reader would take a typical MUD prompt segmented in some way (with commas or whatever dividing the stats), and firstly and most importantly not read it. As blind MUDders we don't need our vital information read continuously after each command, it's way too distracting to be useful.
So my solution was to proverbially take each stat of the prompt and throw it into a variable, which could be echoed back via a keypress.
An example:
&90/100 HP,120/120 Mana,250 250 mv&Note the ampersands - historically I used them to pad the prompt to be sure of a unique value. of course I couldn't use a trigger within the old client because there was no interface with a screen reader. Anyway if I were to press the first of my established keys after all this, I'd hear just the hitpoints echoed back at me and nothing else. Same goes for the next two. And there you had it: real time prompt information with the ability to dip into just the bits you want - skimreading for the blind, of a sort...
I never got to release the code because the average screen reader user did not want to mess about installing it - so now I've hacked up a substitute in MUSHclient.
It works, at present, as a script not a plugin:
- I add a trigger to capture my prompt in whatever world I'm playing, and pass the name of a VBScript sub in the triggers "script" box.
- This sub splits up the prompt with a defined character (comma, semicolon, dash or whatever), and puts the resulting text into a numbered sequence of world variables (prompt1, prompt2...).
- Another sub assigns a constant list of accelerators to echo back those variables. In my text-to-speech plugins I chose a numeric to allow direct speech to be used with BroadcastPlugin. One of my accelerator's might look like:
Ctrl+1 = /world.broadcastPlugin 8874, world.GetVariable("PromptCapture1")
There are several problems with this set-up I was hoping anyone could advise on:
- It's written in VBScript - but I guess that's just what I've grown up with! :(
- The accelerators work by virtue of scripting. This requires the scripting language and character be set (and the same) for each world.
- If it's turned into a plugIn the variables don't seem to work - i.e. they seem to be set in the plugIn but the accelerator's are trying to call them in the world.
Perhaps I'm missing something supremely obvious - is there a better way of doing what I want to? I envisaged a plugin loaded for any world. But perhaps I'm trying to modularise too far; after all, the trigger is in the world but the processing is in the script.
Anyway, although the thing is a bit of a cludge its there for those blind people who might benefit and those coders who might care to advise me of a decent way to go about upgrading it.
Http://www.randylaptop.com/article/MUSHclient
or directly,
http://www.randylaptop.com/get/MUSHclient/keyboardprompt.vbs