Exploring the feasibility of a keyboard-only GUI

If you have a cool piece of software to share, but you are not hosting it officially yet, please dump it in here. If you have code snippets that are useful, please donate!
Post Reply
Rohit Agarwal
Earned some good credits
Earned some good credits
Posts: 119
Joined: Wed May 19, 2021 11:17 pm
Contact:

Exploring the feasibility of a keyboard-only GUI

Post by Rohit Agarwal »

A mouse-free alternative to wxFileOpenDialog

Notice that the rows of keys on a keyboard are staggered.
This aligns them quite well with a hexagonal grid.
Not with a cartesian grid because they are staggered.
We are exploring the development of a new UI that makes use of this fact.
It places all it's controls on a hexagional grid
which makes them accessible directly via a map of the keyboard's alpha-numeric keys.

The map effectively acts like a discrete mouse pad,
while the Space-bar is used like a mouse-button (click).
The keyboard being smaller than the screen,
there are 2 controls provided by the UI
to displace the map vertically and horizontally
so that all points on the screen are accessible through the map.

The '~' key on the left-top corner of the keyboard
is used for (the more common) vertical keyboard-map displacement
while the Capslock key is for horizontal displacement.

You click an alpha-numeric key which highlights a hexagon on the screen,
(if there is some selectable information in that location).
If you are OK with the choice, you press the space bar.

The 'H' key at the centre of the keyboard serves as a visual anchor for the map.
The '~' key and Capslock, therefore displace the 'H' on the screen.
We could have shown the map onscreen, but we chose to display just its centre instead.

This new UI paradigm is a lot faster to get things done than a WIMP based UI.
Each action can be performed with a few key-strokes
and all the time spent switching to the mouse, navigating and clicking and switching back is saved.
Also, the hexagonal grid is known to be a better way of laying out information on the screen
than a cartesian grid.

The attached sample app functions similar to wxFileDialog
It is the hexagonal, mouse-free equivalent of wxFileOpenDialog
which is WIMP based and has a cartesian information layout.
It has about 800 lines of code.

It has the same build settings as the drawing sample.
hex-dlg.cpp
(19.49 KiB) Downloaded 260 times
To learn more about this new UI paradigm, visit https://hex-map.khitchdee.net
Image
Post Reply