Jump to content

please add hotkeys to VPilot client


Jason Fayre 1040237
 Share

Recommended Posts

Hi,

I am totally blind, and use VPilot in conjunction with several other add-ons to fly the airplane when using vatsim. One thing that would be extremely helpful is the addition of hotkeys in VPilot to access the various controls in the software such as connect/disconnect, settings, flight plan, etc. At the very least, allow the buttons to be activated when you tab to them and press Enter. Right now, I need to do a somewhat complex procedure using my screen reader to activate these buttons.

Also, some elements of the software are not available when tabbing through the UI. For example, the tree view for nearby controllers doesn't focus properly when using Tab.

Could the accessibility of the software be looked at?

There are several other blind vatsim users that could benefit from this.

Thanks much!

Link to comment
Share on other sites

I'm one of the BVI pilots actually. thanks Jason for posting this topic as I was going to do it but you beat me to it. lol! I want to add some things as well.

 

The main thing is this. when you hear the triple beep and go to the message tab, for example ground or who ever contacted you, our screen reader which can be found at nvda-project.org can't detect the message pain. I wish there could be a tab control for a read only control like in the general messages/console area, the area where you can type .com1 and the freq etc. If we could tab to that after selecting the private message that would be wonderful as it would cause us to respond quicker if necessary and switch frequencies and have a smoother experience.

 

Second, I agree with Jason on the hotkeys. Please make the buttons be able to be pressed with space bar such as connect, settings, squawk charley etc. Right now I have to hit at least 3 sequences of keys and if my curser does not move to that location and I don't know it, I could end up being in trouble or not doing what the controller wants me to do such as squawk ident.

 

I think that's about it. Thanks so much staff for an almost 100 percent accessible client.

Link to comment
Share on other sites

I will look into adding spacebar support to the buttons across the top. Those are custom controls rather than standard Windows buttons, which is why the spacebar and enter key are not supported. It should be simple to add support for pressing the buttons with the spacebar, but I have to be careful not to take the keyboard focus away from the main command line where you enter dot commands.

 

What I might need to do is add dot commands for opening the connect window, toggling Mode C, squawking ident, etc. Would that be a usable alternative for you?

 

Jason, you mentioned that you would like to be able to tab to the controller list tree view control. Can you let me know why you need to be able to tab to that control? Do you need to be able to tab to the tree view in order for the screen reader to read the controller callsigns and frequencies?

 

Sarah, I'm not understanding the problem that you're describing regarding the message tab. Can you elaborate on what the actual issue is?

Developer: vPilot, VRC, vSTARS, vERAM, VAT-Spy

Senior Controller, Boston Virtual ARTCC

Link to comment
Share on other sites

Hello!

Thanks so much for your response.

If we can't have hotkeys to activate those buttons directly, additional dot commands could definitely work.

Regarding the tree view, that is correct. Right now, I need to try and use my screen reader's review functions to locate that tree, which is tricky, especially if there are a lot of messages being displayed.

If this isn't possible, could we get another dot command to dump the list of nearby frequencies to the message window?

I'll answer for Sara, since I'm not sure if she's regularly monitoring this topic.

When you are on the regular Messages tab, you can press Shift+tab from the chat input control to get you to the messages area. This lets you use the up and down arrow to read any messages being displayed there. For whatever reason, this doesn't work when you are on other tabs, such as private chats with controllers/supervisors.

If it would be helpful, I would be happy to connect with you via Zoom conferencing or something similar so you could see my screen and I could show you exactly what's going on.

Thanks again for looking into this.

Link to comment
Share on other sites

Okay, that makes sense. I'll look into why shift tab doesn't work on the private chat tabs. And I'll look into adding dot commands for accessing the various buttons across the top.

 

Regarding the controller list, I had the same thought ... perhaps a new dot command that dumps a list of in-range controllers into the main messages tab. What would be the best way for me to format that data so that it is most easily navigable and readable for you? For example, should it print out one controller per line, with their callsign and frequency separated by a space? Also, should it be grouped by facility type like it is in the tree view, or would it be better to have them all in one list sorted alphabetically?

 

Lastly, for the connect button, instead of a dot command that opens the existing connect window, how about a dot command that simply initiates the connection? Something like ".connect DAL123 B738". This would connect you with callsign DAL123 using aircraft type B738. That way you wouldn't have to navigate the connect window. I would also add an [Mod - Happy Thoughts]ociated .disconnect command of course. I could possibly do something similar for filing a flight plan if that would be helpful.

Developer: vPilot, VRC, vSTARS, vERAM, VAT-Spy

Senior Controller, Boston Virtual ARTCC

Link to comment
Share on other sites

Hi, another blind pilot here with my thoughts on this.

Thanks for being open to accessibility.

The interesting thing is that the main text window for the frequency you happen to be on is fine, it's just private message tabs that don't allow us to view the text area in the same way.

Commands or hotkeys would be great for the buttons. The connect window however is pretty usable for me, everything is labeled and clickable I think.

I think if a command was created that would send nearest controllers, say within 100 NM or something, as a private message would be great. Personally, I think lines of text sorted by controller position, with the name and then a space followed by frequency, would be most useful.

Declan.

Link to comment
Share on other sites

Sorry guys. Was at dentist, then was at work. Yes Jason got it right. The private message tabs don't read properly. It's a pain to try and find and focus on the chat messages. I would do a demo etc but I've got a paralyzed jaw muscle they are working to fix thanks to a nerve blocking agent kind of gone wrong, so speaking for very long will be a chore. Anyway I will keep an eye on this thread, thanks so much for making those changes, I will be more than happy to test, but let's hope by then the muscle will be ok.

 

Again, thanks for considering accessibility, and thanks for bringing ideas to the table. I like the idea of the added command set.

Link to comment
Share on other sites

Give this build a try:

 

https://vpilot.metacraft.com/[Mod - Happy Thoughts]ets/Files/Installers/vPilot-Setup-2.4.2.exe

 

I decided to enable the space bar and enter key on the buttons across the top, rather than adding a dot command for each button. I also remove the tab stop from some of the controls that don't need it such as the radio status controls at top right, and the splitter bar that separates the controller list and the messages area.

 

I also fixed the tabbing within private chat tabs so it now works the same as the main messages tab. (Same for the notes tab.)

 

I also added the .listatc command which prints a list of all in-range ATC in the main messages area.

 

I also tweaked the tab order a bit so that it cycles from the main messages area to the Connect button, then across all the buttons in proper order, then back to the messages area.

 

Please give it a try and let me know if you need any tweaks.

Developer: vPilot, VRC, vSTARS, vERAM, VAT-Spy

Senior Controller, Boston Virtual ARTCC

Link to comment
Share on other sites

Hello,

Got it! This looks really good. The buttons are acting as expected now. The .listatc command also seems to be working.

The notes tab also looks good, but I haven't checked private message tabs yet.

One thing I noticed. After the settings tab, there are two tab stops that aren't labeled. The first one says nothing, the second one just says "x". What are these?

Link to comment
Share on other sites

Cool, can those two tab stops be labeled as maybe "minimize" and "exit" or something to that effect? I didn't quite look around the whole interface, still kind of resting for a bit.

 

Happy Monday, and again thanks so much.

 

One more question, if we do stream our experiences with vatsim, do we have permission to stream this updated client, or not yet. I want to make sure before one of us does it either by accident or what not.

Link to comment
Share on other sites

I can't change the label on those buttons because they are physically too small to contain the words "minimize" and "exit". However, I did set the Accessible Name property on the buttons, and I [Mod - Happy Thoughts]ume your screen reader can make use of that value. Give it a try with this version:

 

https://vpilot.metacraft.com/[Mod - Happy Thoughts]ets/Files/Installers/vPilot-Setup-2.4.2.1.exe

 

Note that I did not set the Accessible Name property on the other buttons like Connect, Mode C, etc. because those buttons have textual labels. Let me know if I should also set the Accessible Name property on those buttons, or on any other controls.

 

And you can certainly do streams with this version. Thanks for asking.

Developer: vPilot, VRC, vSTARS, vERAM, VAT-Spy

Senior Controller, Boston Virtual ARTCC

Link to comment
Share on other sites

You are most certainly welcome. I'm slowly getting better, but I'm sure someone will beat me to the test. Lol! Thanks again for doing this, you are one of the few developers who are willing to try and make the experience a good one for us.

 

By the way did anyone test the contact me messages thing yet where it is now hopefully a read only box instead of an odd control nvda doesn't like? I will install the update probably tomorrow after I'm done with work and meetings.

Link to comment
Share on other sites

Hi Ross and all,

 

I just have a few minor complaints thus far. When switching tabs, no matter if it's the messages tab or the notes tab, I don't like that focus immediately jumps to the command text box. I'd rather the focus simply stay on the tabs, and then we can tab or shift tab depending on what we want to view. If I were to go to the tab control from the notes tab which is selected and left arrow to the messages tab, focus immediately jumps to the command edit box where we have to shift tab to get to the read only messages. I haven't tried private messages yet, but I [Mod - Happy Thoughts]ume the behavior is the same.

 

So yeah. If we can fix that, when you browse to the messages tab and focus doesn't move, the tab order is the read only message box with messages as I would expect, followed by the command edit area.

 

As I type this, I tested the notes tab. I just made a test note, is there a way to delete that?

 

Also, perhaps the command edit area should be labeled for each tab. Right now screen readers simply say edit, and having the edit area labeled, perhaps with an accessible property for such, would make it easier to distinguish the tab that is currently in focus. Right now we can just shift tab but that's a minor suggestion that isn't terribly needed but would make the app all that much more accessible.

 

HTH.

Link to comment
Share on other sites

Also, a minor feature suggestion that isn't really necessary that I'd love to have: In ContactMe messages or in the .atclist dump, perhaps a feature can be added where enter on one of the options in the ATC list or contact me messages does the following:

A: Immediately jumps to the command area with the .com1 filled in with the [Mod - Happy Thoughts]ociated frequency.

B. Simply autotunes it.

 

I know this would be pretty helpful when no ATC is online for your approach except the tower. Being able ti simply press enter on the tower option in the ATC list is a lot quicker than remembering the frequency and typing the command. Perhaps it may bring down the realism a bit but it sounds more productive to me.

Link to comment
Share on other sites

Having the focus jump to the command entry when a tab is selected is deliberate, so that when a user clicks on a tab, they don't have to then click in the command entry to begin typing.

 

As for the autotune thing, that's not really possible the way you describe because the entries in the .listatc dump are not individual controls that can react to a keypress. They're just text in a large multi-line text box.

 

The only way to delete notes in the notes tab is to clear the entire notes tab with the .clear command.

Developer: vPilot, VRC, vSTARS, vERAM, VAT-Spy

Senior Controller, Boston Virtual ARTCC

Link to comment
Share on other sites

Hey Ross,

 

I'm another one of those BVI pilots, and just wanted to let you know that I truly appreciate the hard work you're putting into making VPilot more accessible, this is truly fantastic!

 

I'm currently recovering my gaming system from an SSD failure, but should be back up in the air tomorrow hopefully.

 

Really looking forward to trying out the enhancements that you've been making to the program, but mostly I am just so happy that it's finally possible to tab into the messages text field for things like private messages and such.

 

I'm still really new to VATSim, so haven't got as much experience using VPilot on a regular basis as some of the other posters. I still tend to get a little bit hectic upon receiving a contact me message while flying, and I've definitely been in situations where I'd tab around the VPilot UI searching for the read-only text field containing the controller's frequency, only to remember at some point that I'd actually have to use a different navigation mode in my screen reader to find it.

 

The fact that this is no longer a thing really has me excited, and I think the .listatc command will make things so much easier as well.

 

Thank you for being so super responsive and willing to adapt the program to our needs, you've made the world a more inclusive place by writing those extra lines of code!

 

Robin

Link to comment
Share on other sites

Thank you to Robin and others in this thread, for the kind words and positive feedback.

 

I think it's fantastic that you're able to enjoy this hobby. As I was developing vPilot, it frankly never occurred to me that the user base would include blind persons. If it had, I would have built in accessibility from day one. Better late than never, I suppose.

 

To make tuning controller frequencies and responding to contact me messages easier, I just made a few changes. You can now tab to the tree view that contains all active controllers, and navigate up and down the list with the arrow keys. If you have a controller selected in the tree, and you press Enter, it will tune that controller's frequency on COM1. The controller list is last in the tab order, immediately following the Exit button. So probably the quickest way to get there would be to Shift-Tab twice from the main command line, but that's up to you of course. Let me know if I should change the tab order.

 

Also, I added the .tune command. This command is intended to be entered on the command line in a private message tab. If the private message tab is for a controller, it will tune that controller's frequency on COM1. So if you receive a contact me message, and you switch to the resulting private message tab, you can just type .tune and it will switch to the controller's frequency.

 

Note that this won't help you if the controller sends you a private message telling you to tune some frequency other than his or her actual primary frequency, but that essentially never happens. (That might become commonplace in the near future when controller's start covering multiple frequencies, and at that point I will implement a different solution for you, which actually reads the frequency from the contact me message that you receive.)

 

The .tune command can also take a callsign as a parameter, and it will tune that callsign's primary frequency, if the callsign exists as an active controller. For example:

 

.tune BOS_CTR

 

Here's where you can download the new version:

 

https://vpilot.metacraft.com/[Mod - Happy Thoughts]ets/Files/Installers/vPilot-Setup-2.4.2.2.exe

 

Please give it a go and let me know how it works out. If these changes provide a better way for you to peruse the controller list and tune frequencies, let me know if I can remove the .listatc command. I'd rather not keep that command if it is redundant and not as useful as the controller list. (If the .listatc command is useful in its own right, then I'm happy to leave it in there ... I just don't want to keep it if it will never be used.)

Developer: vPilot, VRC, vSTARS, vERAM, VAT-Spy

Senior Controller, Boston Virtual ARTCC

Link to comment
Share on other sites

Ross,

 

This is totally awesome!

 

Just completed a flight from KBWI to KMIA with the new client, and as far as VPilot is concerned that was a super smooth experience.

 

The fact that the tree view showing active controllers is now accessible is invaluable, I did look at it a couple times throughout the flight while flying in uncontrolled airspace to check which nearby controllers might possibly send a contact me my way.

 

The .tune command really saved me big time on approach into KMIA, because it just so happened that Miami Center came on while I was in the middle of preparing for touchdown, and then sent me a contact me PM.

 

I then quickly switched to the VPilot window, selected the controller's private message tab, saw that it was Miami Center reaching out to me, punched in the .tune command and then started communicating with them immediately - that entire process probably took only about 10 or 15 seconds.

 

If I'd actually had to read the contact me message, find the frequency then type it in, this likely would have taken another 5 seconds or so - really not a lot of extra time, but at that stage of the flight it kind of mattered to be quick.

 

So, great job coming up with this idea, it may seem like a small improvement on the surface but really it's a truly awesome time saver!

 

I think now that the tree view is accessible, it's probably reasonable to remove the .listatc command again BTW, the tree view is easier to navigate in my opinion.

 

Now here's another suggestion, but no idea if that's actually possible.

 

Could there be a way, perhaps in the tree view, of showing a controller's phonetic callsign?

 

For example, Frankfurt Airport (EDDF) has a station that shows up as EDDF_N_APP, so you could think that it's an approach controller.

 

However, it actually is a station called Langen Radar which is a center, so if I were to address them as "Frankfurt approach" on frequency this would not be correct.

 

VATSpy does show the correct name of most stations in the "Facility Name" column, so there's probably some way of pulling this info from the network.

 

So just wondering, could this bit of info perhaps be presented somewhere in VPilot as well?

 

Maybe it's already there and I just haven't seen it yet, that's definitely a possibility as well .

 

Many thanks, keep up the great work!

 

Robin

Link to comment
Share on other sites

Hi Robin, I'm glad the changes were beneficial.

 

I'm afraid the controller's radio callsign is not available to vPilot. VAT-Spy takes that info from a master data file that installs with VAT-Spy.

 

The only thing I could suggest would be to pull the controller's text info, which you can do with ".atis EDDF_N_APP" and often the controller will include their radio callsign in their ATIS. Note that you can also fetch the controller's text info (ATIS) by right clicking on their entry in the tree. (Not sure if your screen reader gives you a keyboard command to issue a right click or not. I know some keyboards have a menu key which does the same thing.)

Developer: vPilot, VRC, vSTARS, vERAM, VAT-Spy

Senior Controller, Boston Virtual ARTCC

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...