Internal GUI

The Internal GUI is designed to be used on touch screen devices, but also work very well on other devices such as netbooks and laptops. It is under continual development and as such features are constantly being added and improved upon. If you think that a particular feature is missing or poorly implemented, come talk to us in the irc channel or open up a feature request on the trac system.

Configuring Internal GUI

Enabling Internal GUI

The Internal GUI is configured as the default GUI for Navit, so if you’re reading this after a first install no further configuration is required.

If the configuration has changed since first install, the Internal GUI can be chosen by setting the type attribute in the tag.

Ensure that any other gui tags are disabled by setting their enabled attribute to “no”.

Keyboard Preferences

Some options inside the Internal GUI menu require keyboard input - for example, Town search. By default, Navit provides a custom on-screen keyboard to enter text. If your device has it’s own keyboard which you’d prefer to use, and you’d like to conserve some screen space then set the keyboard attribute to “false” inside the tag.

Map-click Preferences

By default, the menu appears when the map is clicked. This can be disabled by adding the following to the tag:

menu_on_map_click="0"

This of course means that you now can’t access the menu by clicking on the map. Instead you will have to add an OSD item with the command gui.menu(), as shown in the example below:

You can use the following example to enable/disable the menu_on_map_click behaviour from an OSD#button:

Icon and font sizes

You can also configure the icon sizes used in the menu. The syntax is as follows:

font_size is off course the font size, icon_xs is the size of the green “ticks” you see here. icon_s is the size of the world and home icon and of the icons in the POI selector. Finally, icon_l is the size of the icons defined in the menu html. The icon sizes need to be available as files in Navit (they should be by default).

Initial Start-up

N810-OSD-Home.png When Navit is first started using the Internal GUI one should see (depending on the skin you have selected to use) something similar to the image to the right. The layout of the internal GUI is controlled by the OSD tags located in the navit.xml file. These tags should be located within the first 100 lines of the file. For information on how to modify the appearance of the OSD layout please reference this link. OSD Layout

Using the Internal GUI

Basics and breadcrumbs

The Internal GUI should be mostly self-explanatory (that’s the idea, at least - if it is not, please file a bug). It basically consists of different screens which show icons that can be clicked / touched, lists (such as search results) and input fields. For text input, a virtual keyboard is available. Of course, a regular hardware keyboard can be used if available.

On all screens of the Internal GUI, there is a breadcrumb trail at the top of the screen, which shows the current position inside the screen hierarchy of the Internal GUI. The breadcrumbs are clickable, to return to an earlier screen.

Operation with keyboard or rotary encoder

While the Internal GUI is mainly designed to be used with a mouse or touch screen, it can also be operated using a (hardware) keyboard or even a rotary encoder (which only offers “forward”, “backward” and “enter”).

The GUI elements can be navigated using arrow keys, and activated using Enter, as usual. Additionally, all GUI elements can also be reached using only PgUp/PgDown - this allows the use of a rotary encoder, if its actions are mapped to these two keys.

When using a rotary encoder (or cursor keys), it may be useful to set option hide_impossible_next_keys to hide irrelevant keys when searching. See the full list of options for details.

Support for rotary encoders was added in December 2015, and hide_impossible_next_keys in February 2017.