Add bindings page

This commit is contained in:
Maze 2022-01-05 14:38:29 +00:00
parent 4cffbaa68d
commit 2113327d42
3 changed files with 154 additions and 0 deletions

View File

@ -6,6 +6,7 @@
[Features](#currently-implemented-features) ⬥ [Features](#currently-implemented-features) ⬥
[Installation](docs/INSTALL.md) ⬥ [Installation](docs/INSTALL.md) ⬥
[Keybindings](docs/KEYBINDINGS.md) ⬥
[Configuration](docs/CONFIG.md) ⬥ [Configuration](docs/CONFIG.md) ⬥
[Theming](docs/THEMING.md) ⬥ [Theming](docs/THEMING.md) ⬥
[Contributing](docs/CONTRIBUTING.md) ⬥ [Contributing](docs/CONTRIBUTING.md) ⬥
@ -83,6 +84,7 @@ Written in Qt/QML and Python, **currently in alpha**.
## Documentation ## Documentation
- [Installation](docs/INSTALL.md) - [Installation](docs/INSTALL.md)
- [Keybindings](docs/KEYBINDINGS.md)
- [Configuration](docs/CONFIG.md) - [Configuration](docs/CONFIG.md)
- [Theming](docs/THEMING.md) - [Theming](docs/THEMING.md)
- [Contributing](docs/CONTRIBUTING.md) - [Contributing](docs/CONTRIBUTING.md)

149
docs/KEYBINDINGS.md Normal file
View File

@ -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
------ | ------
<kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>C</kbd> | Toggle compact interface
<kbd>Ctrl</kbd> + <kbd>+</kbd> | Zoom in
<kbd>Ctrl</kbd> + <kbd>-</kbd> | Zoom out
<kbd>Ctrl</kbd> + <kbd>=</kbd> | Reset zoom
<kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> <br> <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>H</kbd> | Previous tab
<kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> <br> <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>L</kbd> | Next tab
<kbd>Ctrl</kbd> + <kbd>Tab</kbd> | Switch to the last opened page
<kbd>Ctrl</kbd> + <kbd>H</kbd> | Earlier page in history (page back)
<kbd>Ctrl</kbd> + <kbd>L</kbd> | Later page in history (page forward)
<kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>H</kbd> | Toggle notifications, except highlights
<kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>N</kbd> | Toggle notifications
<kbd>F1</kbd> | QML developer console
<kbd>Shift</kbd> + <kbd>F1</kbd> | Python debugger
<kbd>Alt</kbd> + <kbd>F1</kbd> | Python remote debugger
(no binding) | Quit Mirage
## Scrolling bindings
Key | Function
------ | ------
<kbd>Alt</kbd> + <kbd>Up</kbd> <br> <kbd>Alt</kbd> + <kbd>K</kbd> | Scroll up
<kbd>Alt</kbd> + <kbd>Down</kbd> <br> <kbd>Alt</kbd> + <kbd>J</kbd> | Scroll down
<kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>Up</kbd> <br> <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>K</kbd> <br> <kbd>PgUp</kbd> | Page up
<kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>Down</kbd> <br> <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>J</kbd> <br> <kbd>PgDown</kbd> | Page down
<kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>Up</kbd> <br> <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>K</kbd> <br> <kbd>Home</kbd> | Scroll to top
<kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>Down</kbd> <br> <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>J</kbd> <br> <kbd>End</kbd> | Scroll to bottom
## Account bindings
Key | Function
------ | ------
<kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>A</kbd> | Add new account
<kbd>Alt</kbd> + <kbd>O</kbd> | Collapse current account
<kbd>Alt</kbd> + <kbd>A</kbd> | Current account settings
<kbd>Alt</kbd> + <kbd>P</kbd> | Current account context menu
<kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>U</kbd> <br> <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>A</kbd> | Unavailable status
<kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>I</kbd> | Invisible status
<kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>O</kbd> | Offline status
<kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>N</kbd> | Previous account
<kbd>Alt</kbd> + <kbd>N</kbd> | Next account
<kbd>Ctrl</kbd> + <kbd>1</kbd> | Switch to account 1
<kbd>Ctrl</kbd> + <kbd>2</kbd> | Switch to account 2
<kbd>Ctrl</kbd> + <kbd>3</kbd> | Switch to account 3
<kbd>Ctrl</kbd> + <kbd>4</kbd> | Switch to account 4
<kbd>Ctrl</kbd> + <kbd>5</kbd> | Switch to account 5
<kbd>Ctrl</kbd> + <kbd>6</kbd> | Switch to account 6
<kbd>Ctrl</kbd> + <kbd>7</kbd> | Switch to account 7
<kbd>Ctrl</kbd> + <kbd>8</kbd> | Switch to account 8
<kbd>Ctrl</kbd> + <kbd>9</kbd> | Switch to account 9
<kbd>Ctrl</kbd> + <kbd>0</kbd> | Switch to account 10
## Room bindings
Key | Function
------ | ------
<kbd>Alt</kbd> + <kbd>C</kbd> | Create a new room (start chat)
<kbd>Alt</kbd> + <kbd>F</kbd> | Focus filter
<kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>F</kbd> | Clear filter
<kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>Up</kbd> <br> <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>K</kbd> | Previous room
<kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>Down</kbd> <br> <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>J</kbd> | Next room
<kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>U</kbd> | Previous unread
<kbd>Alt</kbd> + <kbd>U</kbd> | Next unread
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>U</kbd> | Oldest unread
<kbd>Ctrl</kbd> + <kbd>U</kbd> | Latest unread
<kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>M</kbd> | Previous highlight
<kbd>Alt</kbd> + <kbd>M</kbd> | Next highlight
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>M</kbd> | Oldest highlight
<kbd>Ctrl</kbd> + <kbd>M</kbd> | Latest highlight
<kbd>Alt</kbd> + <kbd>1</kbd> | Room number 1 in account
<kbd>Alt</kbd> + <kbd>2</kbd> | Room number 2 in account
<kbd>Alt</kbd> + <kbd>3</kbd> | Room number 3 in account
<kbd>Alt</kbd> + <kbd>4</kbd> | Room number 4 in account
<kbd>Alt</kbd> + <kbd>5</kbd> | Room number 5 in account
<kbd>Alt</kbd> + <kbd>6</kbd> | Room number 6 in account
<kbd>Alt</kbd> + <kbd>7</kbd> | Room number 7 in account
<kbd>Alt</kbd> + <kbd>8</kbd> | Room number 8 in account
<kbd>Alt</kbd> + <kbd>9</kbd> | Room number 9 in account
<kbd>Alt</kbd> + <kbd>0</kbd> | Room number 10 in account
(no binding) | Jump to specific room by ID
## Chat bindings
Key | Function
------ | ------
<kbd>Alt</kbd> + <kbd>R</kbd> | Focus room pane
<kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>R</kbd> | Hide room pane
<kbd>Alt</kbd> + <kbd>I</kbd> | Invite members
<kbd>Alt</kbd> + <kbd>Escape</kbd> | Leave current chat
<kbd>Alt</kbd> + <kbd>S</kbd> | Upload file
<kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>S</kbd> | Send file at clipboard path
## Message bindings
Key | Function
------ | ------
<kbd>Ctrl</kbd> + <kbd>Up</kbd> <br> <kbd>Ctrl</kbd> + <kbd>K</kbd> | Focus previous message
<kbd>Ctrl</kbd> + <kbd>Down</kbd> <br> <kbd>Ctrl</kbd> + <kbd>J</kbd> | Focus next message
<kbd>Ctrl</kbd> + <kbd>Space</kbd> | Select focused message
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Space</kbd> | Select messages until here
<kbd>Ctrl</kbd> + <kbd>D</kbd> | Unfocus or deselect
<kbd>Ctrl</kbd> + <kbd>S</kbd> | Display seen tooltips
<kbd>Ctrl</kbd> + <kbd>R</kbd> <br> <kbd>Alt</kbd> + <kbd>Del</kbd> | Remove message
<kbd>Ctrl</kbd> + <kbd>Q</kbd> | Reply
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>D</kbd> | Debug message
<kbd>Ctrl</kbd> + <kbd>O</kbd> | Open link/file in message
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>O</kbd> | Open link/file externally
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>C</kbd> | Copy downloaded file path
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>L</kbd> | Clear messages
## Image viewer bindings
Key | Function
------ | ------
<kbd>X</kbd> <br> <kbd>Q</kbd> | Close image viewer
<kbd>E</kbd> | Expand image viewer
<kbd>F</kbd> <br> <kbd>F11</kbd> <br> <kbd>Alt</kbd> + <kbd>Return</kbd> <br> <kbd>Alt</kbd> + <kbd>Enter</kbd> | Fullscreen image viewer
<kbd>H</kbd> <br> <kbd>Left</kbd> <br> <kbd>Alt</kbd> + <kbd>H</kbd> <br> <kbd>Alt</kbd> + <kbd>Left</kbd> | Pan image left
<kbd>J</kbd> <br> <kbd>Down</kbd> <br> <kbd>Alt</kbd> + <kbd>J</kbd> <br> <kbd>Alt</kbd> + <kbd>Down</kbd> | Pan image down
<kbd>K</kbd> <br> <kbd>Up</kbd> <br> <kbd>Alt</kbd> + <kbd>K</kbd> <br> <kbd>Alt</kbd> + <kbd>Up</kbd> | Pan image up
<kbd>L</kbd> <br> <kbd>Right</kbd> <br> <kbd>Alt</kbd> + <kbd>L</kbd> <br> <kbd>Alt</kbd> + <kbd>Right</kbd> | Pan image right
<kbd>Z</kbd> <br> <kbd>+</kbd> <br> <kbd>Ctrl</kbd> + <kbd>+</kbd> | Zoom in
<kbd>Shift</kbd> + <kbd>Z</kbd> <br> <kbd>-</kbd> <br> <kbd>Ctrl</kbd> + <kbd>-</kbd> | Zoom out
<kbd>Alt</kbd> + <kbd>Z</kbd> <br> <kbd>=</kbd> <br> <kbd>Ctrl</kbd> + <kbd>=</kbd> | Reset zoom
<kbd>R</kbd> | Rotate image right
<kbd>Shift</kbd> + <kbd>R</kbd> | Rotate image left
<kbd>Alt</kbd> + <kbd>R</kbd> | Reset image rotation
<kbd>S</kbd> | Speed up gif
<kbd>Shift</kbd> + <kbd>S</kbd> | Slow down gif
<kbd>Alt</kbd> + <kbd>S</kbd> | Reset gif speed
<kbd>Space</kbd> | Pause gif
## Security tab bindings
Key | Function
------ | ------
<kbd>Tab</kbd> | Navigate next
<kbd>Shift</kbd> + <kbd>Tab</kbd> | Navigate previous
<kbd>Space</kbd> | Toggle check
<kbd>Menu</kbd> | Session context menu
<kbd>Alt</kbd> + <kbd>R</kbd> <br> <kbd>F5</kbd> | Refresh session list
<kbd>Alt</kbd> + <kbd>S</kbd> <br> <kbd>Delete</kbd> | Sign out session

View File

@ -232,6 +232,9 @@ class Keys:
# Key chords can be defined by having up to four shortcuts # 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 # separated by commas in a string, e.g. for ["Ctrl+A,B"], Ctrl+A then B
# would need to be pressed. # 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 # Helper functions