hayesmaker / doomsdayconsole

originally code.google.com/p/doomsdayconsole
0 stars 0 forks source link

Reproducible tab key dysfunction #2

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
In highly dynamic projects throwing a lot of interactive elements around
that are included in the tab order, the console is seen to react
erratically to the tab key being pressed.

The idea is that when the console is toggled on, it sets the root
tabEnabled and tabChildren to false, and completely reserves the Tab key
for utility use. When the console is toggled off, the previous tab behavior
of the application is resumed.

We implemented the console in a very gung-ho Flash IDE project with a whole
bunch of stuff going on, and were immediately faced with the application
maintaing tab priority, with the console getting none. The console would
still toggle on, but subsequent presses of tab would repeatedly jump to the
first element in the document tab order, in this case some menu item.
Tracing out tabEnabled/tabChildren revealed both to be "false", yet the tab
key still misfired in this way.

On repeated attempts, the tab key state became "locked", and only the shift
key was needed to toggle the console. This went on for a random number of
tries before resuming normal ops.

Very hard to reproduce as a unit test. Definitely, definitely needs fixing.
The tab key is core to the console ui.

Original issue reported on code.google.com by AndreasVonSpace@gmail.com on 4 Nov 2009 at 9:46

GoogleCodeExporter commented 8 years ago
Can confirm that. Man, it did cost me 1 day on a time critical project to 
figure out, why the TAB key is not working anymore. Please fix it, so it works 
when the console is not active.

Original comment by Marcel.K...@gmail.com on 25 Nov 2010 at 8:11

GoogleCodeExporter commented 8 years ago
The tab key is now no longer critical to console use, and we'll avoid using it 
for core functionality from here on; Its behavior can not be relied on to be 
uniform across players.

Original comment by andr...@furusystems.com on 10 Jun 2011 at 9:48