# App/UI/Keybindings

From XOWA: the free, open-source, offline wiki application

## Content-editable

XOWA allows keyboard navigation using the content-editable attribute. Note that this is somewhat of a hack and it results in odd UI behavior.

Content-editable can be enabled with the following

- Open the xowa.gfs file
- Change `content_editable_('n')` to `content_editable_('y')`
- Restart XOWA

## XOWA keyboard shortcuts (basic)

See Options: Gui - Shortcuts

## XOWA keyboard shortcuts (advanced)

The xowa.gfs file allows customization of keyboard shortcuts. This section explains the format of the keyboard codes.

- "mod" is short for modifier

  valid values are "a" (alt), "c" (control), and "s" (shift). EX: "mod.a" means "Alt"
  values can be combined. for example, mod.ca means press "Ctrl" and "Alt"

- "+" means press at the same time

  for example: "mod.a+key.d" means press "Alt" and "D" at the same time
  "+" should only be used for a modifier and a regular key character

- "," means press in succession

  for example, "mod.c+key.m,mod.c+key.e" means
    first, press "Ctrl" and "M"
    next, press "Ctrl" and "E"
    the command will activate when the last key is pressed
  pressing any other key before the last will cancel the chord
  there is no limit to chorded keys, but please use appropriately (i.e.: 5 chorded keystrokes are not recommended).

- "|" means alternative

  for example, "mod.c+key.q|mod.c+key.x" means press either ctrl+q or ctrl+x
  there is no limit to alternatives, but please do not go beyond 8

- "mouse" bindings are possible but to be used with caution as they may not override the default mouse behavior

  you are free to experiment, but the results may be unsatisfying

- finally, the three sections in the config file will be consolidated into one at a later date. the last section will likely be the ultimate form.

## List of shortcuts

Category | Key | Description | Config file setting
--- | --- | --- | ---
Application | F1 | Show help | page_goto("home/wiki/Help:Contents");
Application | Ctrl+F1 | Show sandbox | eval("xowa_proc_html_tidy_toggle");
Application | Ctrl+Q | Exit app | app_exit
Application | Ctrl+Shift+H | Show page history | app_history_show
Application | Ctrl+Shift+R | Open random page | special_random
Application | F3 | Show bookmarks | page_goto("home/wiki/Data:Bookmarks");
Application | Ctrl+Shift+P | Show list of recent status messages(must click inside status bar) | prog_box_log();
Read | Ctrl+L | Open link (content editable mode) | link_click
Navigation | Alt+Left | Go back one page | history_fwd
Navigation | Alt+Right | Go forward one page | history_bwd
Focus | Alt+D | Focus url box | url_box_focus
Focus | Ctrl+F | Focus find box | find_box_focus
Focus | Ctrl+Alt+P | Focus progress box | statux_box_focus
Focus | Escape | Focus html box | wiki_box_focus
Find | Alt+N | Find next match | find_box_fwd
Find | Alt+P | Find previous match | find_box_bwd
Find | Alt+C | Toggle case sensitivity | find_box_case_toggle
Find | Alt+W | Toggle wrap search | find_box_wrap_toggle
Page | Alt+Shift+R | Switch page to read mode | page_view_read
Page | Alt+Shift+E | Switch page to edit mode | page_view_edit
Page | Alt+Shift+H | Switch page to html mode | page_view_html
Edit | Alt+Shift+Period | Preview page | page_edit_preview
Edit | Alt+Shift+S | Save page and switch to read mode | page_edit_save
Edit | Ctrl+S | Save page | page_edit_save_draft
Edit | Alt+Shift+Comma | Focus edit box | page_edit_focus__box
Edit | Alt+Shift+Period | Focus first heading | page_edit_focus_first
Edit | Alt+R | Rename page | page_edit_rename();

### XOWA

- Main page
- Screenshots
- Video
- Download XOWA
- Download wikis

### Getting started

- Requirements
- Installation
- Simple Wikipedia
- English Wikipedia
- Other Wikipedias

### Android

- Setup
- Video

### Help

- About
- Contents
- Media
- Feedback

### Blog

- Current

### Links

- Wikimedia dumps
- XOWA @ archive.org
- English Wikipedia

### Donate

- archive.org
- Wikipedia
- XOWA