LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

keyboard focus on indicators

Solved!
Go to solution

@tst wrote:

I still don't understand why you want to prevent them from also being able to press the buttons/LEDs with the mouse, but that if that's really what you want, then you've been given a few options.


The basic problems: weather, the elements, and operational restrictions.

 

Operators don't have an external mouse and there's no available surface for a mouse: i.e., an austere operational environment. The laptop has a touchpad. When it's cold, operators wear thick gloves. They're using the touchpad, with some difficulty while wearing the gloves, or they probably temporarily remove the gloves and use cold fingers on the touchpad.

 

The operators are allowed to use pens (or pencils, etc.) to peck on keys.

 

On some of the UI panels, the ones with controls, the default focus indication (a box around the control) is currently impossible to see due to the panel color. The panel color was chosen to help the operators see the controls in bright sun conditions. I can remedy that problem by changing each control's background color when it's in-focus.

 

The idea is to improve human factors by allowing the operator to peck on the TAB key with a pen(s) until there's focus on the desired control, then peck the ENTER key to select that control's UI panel.

 

After writing all the above, it occurred to me that the operators might, with gloved hands, be able to use an object to operate the touchpad and move the cursor over a control, then press the ENTER key (don't know if that would work with the current value change event). On this common Dell laptop I'm using at home, I tried a couple of options on the touchpad just now: neither a pencil eraser nor a smartphone stylus work well with the touchpad, no response from the eraser and erratic results with the stylus. Also, probably not a good idea to encourage use of pens/pencils/misc. objects on a touchpad in this environment.

 

This is a good discussion. Any ideas are always appreciated.

 

Thanks,

 

 

Jeffrey Bledsoe
Electrical Engineer
0 Kudos
Message 11 of 27
(3,344 Views)
Solution
Accepted by MinerHokieRamp

@MinerHokieRamp wrote:

@tst wrote:

@MinerHokieRamp wrote:

 

Some operators might want to click on the boolean (LED) as they've done in the past. If I convert indicators to controls and use local variables, is there a way to lock the controls to prevent manual toggling? Set the enabled state to disabled?


That will work, but as Gerd says, will prevent keyboard navigation. You could use the Mouse Down? event for those controls and discard it, but before you go down that path, it sounds to me like you either need to rethink your UI or explain it better to us, because at the moment it sounds like a weird combination of things that you want to allow and disallow and you may be driving yourself down an unnecessary hole of workarounds.


It's a large array of LEDs (at present, they're indicators), with Mouse Down on each LED triggering an event and causing an info screen to pop up.

 

So the operator doesn't have to use the touchpad, I'd like to tab through the LEDs and push the ENTER key for the pop-up. Thus, I need to tab among the LEDs and make the focus visible to the operator and I need to change event triggers to Value Change.

 

 


tst was right- your going down a rabbit hole.

 

Create an info button and put it next to the indicator


"Should be" isn't "Is" -Jay
Message 12 of 27
(3,324 Views)

@JÞB wrote:

@MinerHokieRamp wrote:

@tst wrote:

@MinerHokieRamp wrote:

 

Some operators might want to click on the boolean (LED) as they've done in the past. If I convert indicators to controls and use local variables, is there a way to lock the controls to prevent manual toggling? Set the enabled state to disabled?


That will work, but as Gerd says, will prevent keyboard navigation. You could use the Mouse Down? event for those controls and discard it, but before you go down that path, it sounds to me like you either need to rethink your UI or explain it better to us, because at the moment it sounds like a weird combination of things that you want to allow and disallow and you may be driving yourself down an unnecessary hole of workarounds.


It's a large array of LEDs (at present, they're indicators), with Mouse Down on each LED triggering an event and causing an info screen to pop up.

 

So the operator doesn't have to use the touchpad, I'd like to tab through the LEDs and push the ENTER key for the pop-up. Thus, I need to tab among the LEDs and make the focus visible to the operator and I need to change event triggers to Value Change.

 

 


tst was right- your going down a rabbit hole.

 

Create an info button and put it next to the indicator


Great idea!

 

For a couple of the indicators, I'll add info buttons, edit the event cases to work for the info buttons(value change) instead of the indicators (mouse down), add some code for toggling the background color of the info buttons for focus, and demo the results to my colleagues in the next couple of days.

 

Thank you very much.

 

 

Jeffrey Bledsoe
Electrical Engineer
0 Kudos
Message 13 of 27
(3,302 Views)

The control will automatically have the highlight property set when it recieves key focus so, you can skip the "add some code for toggling the background color of the info buttons for focus" step.


"Should be" isn't "Is" -Jay
0 Kudos
Message 14 of 27
(3,285 Views)
Solution
Accepted by MinerHokieRamp

The interesting thing is that even after I see you've accepted Jeff's suggestion of using an image on a button, I still don't see how this relates to what you want, but as long as it works for you, that's fine.

 

Some extra comments:

 

  1. If there's no room for a mouse, I assume there's also no room for a small USB keypad, which you can use to have buttons which are easier to click with gloves.
  2. Since you're dealing with relatively exteme conditions, you might want to consider other means of interaction, such as using the space key instead of tab for tabbing (basically, use the Key Down? event and replace Space with tab, which is ASCII 9).
  3. Or speech recognition instead of pressing (search for "LV speak" for an example).
  4. Or gesture recognition from the webcam (more complicated).
  5. OS UIs are generally designed for people sitting in an office. If your case is extreme enough, it might be preferable for you to build a simplified UI from scratch using the picture control, although I assume controlling the colors should be enough to make it usable.

___________________
Try to take over the world!
0 Kudos
Message 15 of 27
(3,261 Views)

@tst wrote:

The interesting thing is that even after I see you've accepted Jeff's suggestion of using an image on a button, I still don't see how this relates to what you want, but as long as it works for you, that's fine.

 

 

The suggestion was to use an "Information" button next to the bool indicators.  Sadly, there isn't a shipped (i) button so you have to customize one.  The clip is a great start to playing a game of "Simon Says"


"Should be" isn't "Is" -Jay
0 Kudos
Message 16 of 27
(3,255 Views)

@JÞB wrote:

The control will automatically have the highlight property set when it recieves key focus so, you can skip the "add some code for toggling the background color of the info buttons for focus" step.


The panel is black due to the lighting restrictions. Focus highlight is impossible to see. Is it possible to change the highlight to white?

 

I've demonstrated the "control-background-color-change-in-focus" option to colleagues and had favorable comments. Due to lighting extremes, I think it's a better option than making the highlight visible.

 

Thanks,

 

Jeffrey Bledsoe
Electrical Engineer
0 Kudos
Message 17 of 27
(3,230 Views)

For give me if this was mentioned earlier in this thread!

 

Invoke node >>> Object Highlight

 

may be helpful.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 18 of 27
(3,224 Views)

@tst wrote:

The interesting thing is that even after I see you've accepted Jeff's suggestion of using an image on a button, I still don't see how this relates to what you want, but as long as it works for you, that's fine.

 

Some extra comments:

 

  1. If there's no room for a mouse, I assume there's also no room for a small USB keypad, which you can use to have buttons which are easier to click with gloves.
  2. Since you're dealing with relatively exteme conditions, you might want to consider other means of interaction, such as using the space key instead of tab for tabbing (basically, use the Key Down? event and replace Space with tab, which is ASCII 9).
  3. Or speech recognition instead of pressing (search for "LV speak" for an example).
  4. Or gesture recognition from the webcam (more complicated).
  5. OS UIs are generally designed for people sitting in an office. If your case is extreme enough, it might be preferable for you to build a simplified UI from scratch using the picture control, although I assume controlling the colors should be enough to make it usable.

I think using a control beside each indicator will provide an easier way to "indicate" to the operator when to press a key and get the popup. I hadn't thought of adding a tiny control beside each LED indicator.

 

An image on the info button has little value-added in this lighting environment. Highlighting focus by changing background color of the control will be more useful to the operator than a graphic image on the button. I'll just have to spread out the array of indicators so there's no doubt about the pairing of indicators and info buttons.

 

Funny that I'll be adding controls to essentially "indicate" focus on indicators. But, like a D8 Caterpillar, it should get the job done.

 

Responses to your numerical comments:

 

  1. If there's no room for a mouse, I assume there's also no room for a small USB keypad, which you can use to have buttons which are easier to click with gloves. No room and hardware has already been bought without a mouse and there are no add-on or external surfaces to use one.
  2. Since you're dealing with relatively exteme conditions, you might want to consider other means of interaction, such as using the space key instead of tab for tabbing (basically, use the Key Down? event and replace Space with tab, which is ASCII 9). I like that idea since, as you say, the space bar is much larger and easier to access than the tab key. Space bar should be better than tab; but tab is slightly concave and space bar isn't, possibly a concern when pecking with a pen. I'll check into it; if it works, I'll demonstrate to colleagues and the customer.
  3. Or speech recognition instead of pressing (search for "LV speak" for an example). Environment can be extremely noisy; operators have to wear ear protection so they might also have difficulty enunciating clearly. But, I didn't know about "LV speak".
  4. Or gesture recognition from the webcam (more complicated). No webcam and can't add one. (a special, wee little ruggedized laptop, not an off-the-shelf unit)
  5. OS UIs are generally designed for people sitting in an office. If your case is extreme enough, it might be preferable for you to build a simplified UI from scratch using the picture control, although I assume controlling the colors should be enough to make it usable. Not familiar with picture control; might be out of scope to this project. Colleagues liked "color change on focus."

Thanks,

 

 

Jeffrey Bledsoe
Electrical Engineer
0 Kudos
Message 19 of 27
(3,216 Views)

@Ben wrote:

For give me if this was mentioned earlier in this thread!

 

Invoke node >>> Object Highlight

 

may be helpful.

 

Ben


Will that work for indicators?

 

Thanks,

 

 

Jeffrey Bledsoe
Electrical Engineer
0 Kudos
Message 20 of 27
(3,198 Views)