Hey, how can I make my game playable with Jaws? Now the arrow keys are not working with that screenreader
Telegram: Nuno69a
E-Mail: nuno69a (at) gmail (dot) com
You are not logged in. Please login or register.
AudioGames.net Forum → Developers room → Making my game accessible with Jaws?
Hey, how can I make my game playable with Jaws? Now the arrow keys are not working with that screenreader
Jaws is naturally vary bad with games, but maybe try a keyhook if there is such a function?
Heh, what about the menues? Lol
Monopoly planet used w and s, though I won't tell you that I enjoyed it.
I kept hitting the arrows and wondering why nothing happened!
Lol I forgot to say very important thing. I am using C# NET
@nuno69 When I wrote BGT about 9 years ago, more or less everyone I knew was using Jaws so I ran into the exact same issue. It took me a while to figure out what to do.
The function you need is from the win32 API and is called SetWindowsHookEx. The type of hook to install is called WH_KEYBOARD_LL (AKA the low level keyboard hook). This allows you to pass a callback that gets invoked whenever a key is pressed, and you simply allow it through. I believe Jaws installs a similar hook, but since the current application seems to take priority, Jaws is no longer able to block the keys from going through.
A few years later a Windows update caused some issues with the keyhook for a few people, but I'm not exactly sure what the state of that is right now. I have never personally experienced any issues with it. I suggest you try it and hopefully it just works.
I'm not exactly sure how this translates to C#, but there should be plenty of information on how to pass a function pointer to a native function.
Good luck!
Kind regards,
Philip Bennefall
Thank you @Philip
Lol as much as I like Jaws that thing is fucked, why I have to call to Win32 API when the JAWS's API should allow me doing such a trivial thing?
In older games, say around 2004 when Jaws was pretty much the only widely used screen reader, there used to be a note in the game documentation to simply turn off the screen reader all the time. Outputting text directly through the screen reader API was pretty much unheard of, so there was no real reason to keep it running.
Different times.
Kind regards,
Philip Bennefall
Yeah, but we've moved on, so adding one more call to the JFW API shouldn't be aproblem from Freedom, nevermind, maybe I am stupid.
Oh I definitely agree that it would make sense for them to do it. I was just thinking back how it used to be when I first started coding. I started back in 2001, using JavaScript. It was a very different beast back then compared to now.
Kind regards,
Philip Bennefall
Your idea worked, however Jaws doesn't stop on new speech events. CTRL does not stop speech and stuff. Oh lol, my game will be in a style of these 2004 ones.
Yeah, the keyhook is not perfect. That's why I made it an optional feature in BGT, so that individual developers could choose to install it or not.
Kind regards,
Philip Bennefall
Hi,
Maybe it's possible to detect the control key within your game, like BGT games sometimes do? If the JAWS api provides a stop speech function or something of the like, you can call that when control is pressed. Otherwise, you can send a blank string to the speak function or a space or something to hopefully stop it from speaking.
The thing is, imagine I have a main menu. The menu of my game is as follows
New game
Load game
Check for new versions
DLC management
Settings
Exit
When I arrow down quickly Jaws reads everything one by another, and it doesn't stop on key events.
BGT is not good for anything, it has the same problem I have.
Sorry Philip, I don't have nothing against you, only against BGT.
AudioGames.net Forum → Developers room → Making my game accessible with Jaws?
Generated in 0.023 seconds (51% PHP - 49% DB) with 11 queries