diff --git a/README.md b/README.md index 11030603..0a0f7b85 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ [Features](#currently-implemented-features) ⬥ [Installation](docs/INSTALL.md) ⬥ +[Keybindings](docs/KEYBINDINGS.md) ⬥ [Configuration](docs/CONFIG.md) ⬥ [Theming](docs/THEMING.md) ⬥ [Contributing](docs/CONTRIBUTING.md) ⬥ @@ -83,6 +84,7 @@ Written in Qt/QML and Python, **currently in alpha**. ## Documentation - [Installation](docs/INSTALL.md) +- [Keybindings](docs/KEYBINDINGS.md) - [Configuration](docs/CONFIG.md) - [Theming](docs/THEMING.md) - [Contributing](docs/CONTRIBUTING.md) diff --git a/docs/KEYBINDINGS.md b/docs/KEYBINDINGS.md new file mode 100644 index 00000000..19f2b020 --- /dev/null +++ b/docs/KEYBINDINGS.md @@ -0,0 +1,149 @@ +# Mirage default keybindings list + +Keybindings as defined in [the default configuration file](src/config/settings.py#L218). More about configuration [here](docs/CONFIG.md). + +## General bindings + +Key | Function +------ | ------ +Ctrl + Alt + C | Toggle compact interface +Ctrl + + | Zoom in +Ctrl + - | Zoom out +Ctrl + = | Reset zoom +Alt + Shift + Left
Alt + Shift + H | Previous tab +Alt + Shift + Right
Alt + Shift + L | Next tab +Ctrl + Tab | Switch to the last opened page +Ctrl + H | Earlier page in history (page back) +Ctrl + L | Later page in history (page forward) +Ctrl + Alt + H | Toggle notifications, except highlights +Ctrl + Alt + N | Toggle notifications +F1 | QML developer console +Shift + F1 | Python debugger +Alt + F1 | Python remote debugger +(no binding) | Quit Mirage + +## Scrolling bindings + +Key | Function +------ | ------ +Alt + Up
Alt + K | Scroll up +Alt + Down
Alt + J | Scroll down +Ctrl + Alt + Up
Ctrl + Alt + K
PgUp | Page up +Ctrl + Alt + Down
Ctrl + Alt + J
PgDown | Page down +Ctrl + Alt + Shift + Up
Ctrl + Alt + Shift + K
Home | Scroll to top +Ctrl + Alt + Shift + Down
Ctrl + Alt + Shift + J
End | Scroll to bottom + +## Account bindings + +Key | Function +------ | ------ +Alt + Shift + A | Add new account +Alt + O | Collapse current account +Alt + A | Current account settings +Alt + P | Current account context menu +Ctrl + Alt + U
Ctrl + Alt + A | Unavailable status +Ctrl + Alt + I | Invisible status +Ctrl + Alt + O | Offline status +Alt + Shift + N | Previous account +Alt + N | Next account +Ctrl + 1 | Switch to account 1 +Ctrl + 2 | Switch to account 2 +Ctrl + 3 | Switch to account 3 +Ctrl + 4 | Switch to account 4 +Ctrl + 5 | Switch to account 5 +Ctrl + 6 | Switch to account 6 +Ctrl + 7 | Switch to account 7 +Ctrl + 8 | Switch to account 8 +Ctrl + 9 | Switch to account 9 +Ctrl + 0 | Switch to account 10 + +## Room bindings + +Key | Function +------ | ------ +Alt + C | Create a new room (start chat) +Alt + F | Focus filter +Alt + Shift + F | Clear filter +Alt + Shift + Up
Alt + Shift + K | Previous room +Alt + Shift + Down
Alt + Shift + J | Next room +Alt + Shift + U | Previous unread +Alt + U | Next unread +Ctrl + Shift + U | Oldest unread +Ctrl + U | Latest unread +Alt + Shift + M | Previous highlight +Alt + M | Next highlight +Ctrl + Shift + M | Oldest highlight +Ctrl + M | Latest highlight +Alt + 1 | Room number 1 in account +Alt + 2 | Room number 2 in account +Alt + 3 | Room number 3 in account +Alt + 4 | Room number 4 in account +Alt + 5 | Room number 5 in account +Alt + 6 | Room number 6 in account +Alt + 7 | Room number 7 in account +Alt + 8 | Room number 8 in account +Alt + 9 | Room number 9 in account +Alt + 0 | Room number 10 in account +(no binding) | Jump to specific room by ID + +## Chat bindings + +Key | Function +------ | ------ +Alt + R | Focus room pane +Ctrl + Alt + R | Hide room pane +Alt + I | Invite members +Alt + Escape | Leave current chat +Alt + S | Upload file +Alt + Shift + S | Send file at clipboard path + +## Message bindings + +Key | Function +------ | ------ +Ctrl + Up
Ctrl + K | Focus previous message +Ctrl + Down
Ctrl + J | Focus next message +Ctrl + Space | Select focused message +Ctrl + Shift + Space | Select messages until here +Ctrl + D | Unfocus or deselect +Ctrl + S | Display seen tooltips +Ctrl + R
Alt + Del | Remove message +Ctrl + Q | Reply +Ctrl + Shift + D | Debug message +Ctrl + O | Open link/file in message +Ctrl + Shift + O | Open link/file externally +Ctrl + Shift + C | Copy downloaded file path +Ctrl + Shift + L | Clear messages + +## Image viewer bindings + +Key | Function +------ | ------ +X
Q | Close image viewer +E | Expand image viewer +F
F11
Alt + Return
Alt + Enter | Fullscreen image viewer +H
Left
Alt + H
Alt + Left | Pan image left +J
Down
Alt + J
Alt + Down | Pan image down +K
Up
Alt + K
Alt + Up | Pan image up +L
Right
Alt + L
Alt + Right | Pan image right +Z
+
Ctrl + + | Zoom in +Shift + Z
-
Ctrl + - | Zoom out +Alt + Z
=
Ctrl + = | Reset zoom +R | Rotate image right +Shift + R | Rotate image left +Alt + R | Reset image rotation +S | Speed up gif +Shift + S | Slow down gif +Alt + S | Reset gif speed +Space | Pause gif + +## Security tab bindings + +Key | Function +------ | ------ +Tab | Navigate next +Shift + Tab | Navigate previous +Space | Toggle check +Menu | Session context menu +Alt + R
F5 | Refresh session list +Alt + S
Delete | Sign out session diff --git a/src/config/settings.py b/src/config/settings.py index c263547e..dcdee071 100644 --- a/src/config/settings.py +++ b/src/config/settings.py @@ -232,6 +232,9 @@ class Keys: # Key chords can be defined by having up to four shortcuts # separated by commas in a string, e.g. for ["Ctrl+A,B"], Ctrl+A then B # would need to be pressed. + # + # A list of default bindings can be found at: + # https://github.com/mirukana/mirage/blob/master/docs/KEYBINDINGS.md # Helper functions