dotfiles

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

alacritty.yml (23152B)


      1 # Configuration for Alacritty, the GPU enhanced terminal emulator.
      2 
      3 # Any items in the `env` entry below will be added as
      4 # environment variables. Some entries may override variables
      5 # set by alacritty itself.
      6 #env:
      7   # TERM variable
      8   #
      9   # This value is used to set the `$TERM` environment variable for
     10   # each instance of Alacritty. If it is not present, alacritty will
     11   # check the local terminfo database and use `alacritty` if it is
     12   # available, otherwise `xterm-256color` is used.
     13   #TERM: xterm-256color
     14 
     15 window:
     16   # Window dimensions (changes require restart)
     17   #
     18   # Specified in number of columns/lines, not pixels.
     19   # If both are `0`, this setting is ignored.
     20   dimensions:
     21     columns: 0
     22     lines: 0
     23 
     24   # Window position (changes require restart)
     25   #
     26   # Specified in number of pixels.
     27   # If the position is not set, the window manager will handle the placement.
     28   #position:
     29   #  x: 0
     30   #  y: 0
     31 
     32   # Window padding (changes require restart)
     33   #
     34   # Blank space added around the window in pixels. This padding is scaled
     35   # by DPI and the specified value is always added at both opposing sides.
     36   padding:
     37     x: 2
     38     y: 2
     39 
     40   # Spread additional padding evenly around the terminal content.
     41   dynamic_padding: false
     42 
     43   # Window decorations
     44   #
     45   # Values for `decorations`:
     46   #     - full: Borders and title bar
     47   #     - none: Neither borders nor title bar
     48   #
     49   # Values for `decorations` (macOS only):
     50   #     - transparent: Title bar, transparent background and title bar buttons
     51   #     - buttonless: Title bar, transparent background, but no title bar buttons
     52   decorations: full
     53 
     54   # Startup Mode (changes require restart)
     55   #
     56   # Values for `startup_mode`:
     57   #   - Windowed
     58   #   - Maximized
     59   #   - Fullscreen
     60   #
     61   # Values for `startup_mode` (macOS only):
     62   #   - SimpleFullscreen
     63   startup_mode: Windowed
     64 
     65   # Window title
     66   #title: Alacritty
     67 
     68   # Window class (Linux only):
     69   #class: Alacritty
     70 
     71 scrolling:
     72   # Maximum number of lines in the scrollback buffer.
     73   # Specifying '0' will disable scrolling.
     74   history: 10000
     75 
     76   # Number of lines the viewport will move for every line scrolled when
     77   # scrollback is enabled (history > 0).
     78   multiplier: 3
     79 
     80 # Font configuration (changes require restart)
     81 font:
     82   # Normal (roman) font face
     83   #normal:
     84     # Font family
     85     #
     86     # Default:
     87     #   - (macOS) Menlo
     88     #   - (Linux) monospace
     89     #   - (Windows) Consolas
     90     #family: monospace
     91 
     92     # The `style` can be specified to pick a specific face.
     93     #style: Regular
     94 
     95   # Bold font face
     96   #bold:
     97     # Font family
     98     #
     99     # If the bold family is not specified, it will fall back to the
    100     # value specified for the normal font.
    101     #family: monospace
    102 
    103     # The `style` can be specified to pick a specific face.
    104     #style: Bold
    105 
    106   # Italic font face
    107   #italic:
    108     # Font family
    109     #
    110     # If the italic family is not specified, it will fall back to the
    111     # value specified for the normal font.
    112     #family: monospace
    113 
    114     # The `style` can be specified to pick a specific face.
    115     #style: Italic
    116 
    117   # Point size
    118   size: 13.0
    119 
    120   # Offset is the extra space around each character. `offset.y` can be thought of
    121   # as modifying the line spacing, and `offset.x` as modifying the letter spacing.
    122   offset:
    123     x: 0
    124     y: 0
    125 
    126   # Glyph offset determines the locations of the glyphs within their cells with
    127   # the default being at the bottom. Increasing `x` moves the glyph to the right,
    128   # increasing `y` moves the glyph upwards.
    129   glyph_offset:
    130     x: 0
    131     y: 0
    132 
    133   # Thin stroke font rendering (macOS only)
    134   #
    135   # Thin strokes are suitable for retina displays, but for non-retina screens
    136   # it is recommended to set `use_thin_strokes` to `false`
    137   #
    138   # macOS >= 10.14.x:
    139   #
    140   # If the font quality on non-retina display looks bad then set
    141   # `use_thin_strokes` to `true` and enable font smoothing by running the
    142   # following command:
    143   #   `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO`
    144   #
    145   # This is a global setting and will require a log out or restart to take
    146   # effect.
    147   use_thin_strokes: true
    148 
    149 # If `true`, bold text is drawn using the bright color variants.
    150 draw_bold_text_with_bright_colors: true
    151 
    152 # Colors (Tomorrow Night Bright)
    153 colors:
    154   # Default colors
    155   primary:
    156     background: '0x191919'
    157     foreground: '0xeaeaea'
    158 
    159     # Bright and dim foreground colors
    160     #
    161     # The dimmed foreground color is calculated automatically if it is not present.
    162     # If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
    163     # is `false`, the normal foreground color will be used.
    164     #dim_foreground: '0x9a9a9a'
    165     #bright_foreground: '0xffffff'
    166 
    167   # Cursor colors
    168   #
    169   # Colors which should be used to draw the terminal cursor. If these are unset,
    170   # the cursor color will be the inverse of the cell color.
    171   #cursor:
    172   #  text: '0x000000'
    173   #  cursor: '0xffffff'
    174 
    175   # Selection colors
    176   #
    177   # Colors which should be used to draw the selection area. If selection
    178   # background is unset, selection color will be the inverse of the cell colors.
    179   # If only text is unset the cell text color will remain the same.
    180   #selection:
    181   #  text: '0xeaeaea'
    182   #  background: '0x404040'
    183 
    184   # Normal colors
    185   normal:
    186     black:   '0x000000'
    187     red:     '0xd54e53'
    188     green:   '0xb9ca4a'
    189     yellow:  '0xe6c547'
    190     blue:    '0x7aa6da'
    191     magenta: '0xc397d8'
    192     cyan:    '0x70c0ba'
    193     white:   '0xeaeaea'
    194 
    195   # Bright colors
    196   bright:
    197     black:   '0x666666'
    198     red:     '0xff3334'
    199     green:   '0x9ec400'
    200     yellow:  '0xe7c547'
    201     blue:    '0x7aa6da'
    202     magenta: '0xb77ee0'
    203     cyan:    '0x54ced6'
    204     white:   '0xffffff'
    205 
    206   # Dim colors
    207   #
    208   # If the dim colors are not set, they will be calculated automatically based
    209   # on the `normal` colors.
    210   #dim:
    211   #  black:   '0x000000'
    212   #  red:     '0x8c3336'
    213   #  green:   '0x7a8530'
    214   #  yellow:  '0x97822e'
    215   #  blue:    '0x506d8f'
    216   #  magenta: '0x80638e'
    217   #  cyan:    '0x497e7a'
    218   #  white:   '0x9a9a9a'
    219 
    220   # Indexed Colors
    221   #
    222   # The indexed colors include all colors from 16 to 256.
    223   # When these are not set, they're filled with sensible defaults.
    224   #
    225   # Example:
    226   #   `- { index: 16, color: '0xff00ff' }`
    227   #
    228   indexed_colors: []
    229 
    230 # Visual Bell
    231 #
    232 # Any time the BEL code is received, Alacritty "rings" the visual bell. Once
    233 # rung, the terminal background will be set to white and transition back to the
    234 # default background color. You can control the rate of this transition by
    235 # setting the `duration` property (represented in milliseconds). You can also
    236 # configure the transition function by setting the `animation` property.
    237 #
    238 # Values for `animation`:
    239 #   - Ease
    240 #   - EaseOut
    241 #   - EaseOutSine
    242 #   - EaseOutQuad
    243 #   - EaseOutCubic
    244 #   - EaseOutQuart
    245 #   - EaseOutQuint
    246 #   - EaseOutExpo
    247 #   - EaseOutCirc
    248 #   - Linear
    249 #
    250 # Specifying a `duration` of `0` will disable the visual bell.
    251 bell:
    252   animation: EaseOutExpo
    253   duration: 0
    254   color: '0xffffff'
    255 
    256 # Background opacity
    257 #
    258 # Window opacity as a floating point number from `0.0` to `1.0`.
    259 # The value `0.0` is completely transparent and `1.0` is opaque.
    260 background_opacity: 1.0
    261 
    262 # Mouse bindings
    263 #
    264 # Available fields:
    265 #   - mouse
    266 #   - action
    267 #   - mods (optional)
    268 #
    269 # Values for `mouse`:
    270 #   - Middle
    271 #   - Left
    272 #   - Right
    273 #   - Numeric identifier such as `5`
    274 #
    275 # All available `mods` and `action` values are documented in the key binding
    276 # section.
    277 mouse_bindings:
    278   - { mouse: Middle, action: PasteSelection }
    279 
    280 mouse:
    281   # Click settings
    282   #
    283   # The `double_click` and `triple_click` settings control the time
    284   # alacritty should wait for accepting multiple clicks as one double
    285   # or triple click.
    286   double_click: { threshold: 300 }
    287   triple_click: { threshold: 300 }
    288 
    289   # If this is `true`, the cursor is temporarily hidden when typing.
    290   hide_when_typing: false
    291 
    292   url:
    293     # URL launcher
    294     #
    295     # This program is executed when clicking on a text which is recognized as a URL.
    296     # The URL is always added to the command as the last parameter.
    297     #
    298     # When set to `None`, URL launching will be disabled completely.
    299     #
    300     # Default:
    301     #   - (macOS) open
    302     #   - (Linux) xdg-open
    303     #   - (Windows) explorer
    304     #launcher:
    305     #  program: xdg-open
    306     #  args: []
    307 
    308     # URL modifiers
    309     #
    310     # These are the modifiers that need to be held down for opening URLs when clicking
    311     # on them. The available modifiers are documented in the key binding section.
    312     modifiers: None
    313 
    314 selection:
    315   semantic_escape_chars: ",│`|:\"' ()[]{}<>"
    316 
    317   # When set to `true`, selected text will be copied to the primary clipboard.
    318   save_to_clipboard: false
    319 
    320 # Allow terminal applications to change Alacritty's window title.
    321 window.dynamic_title: true
    322 
    323 cursor:
    324   # Cursor style
    325   #
    326   # Values for `style`:
    327   #   - ▇ Block
    328   #   - _ Underline
    329   #   - | Beam
    330   style: Block
    331 
    332   # If this is `true`, the cursor will be rendered as a hollow box when the
    333   # window is not focused.
    334   unfocused_hollow: true
    335 
    336 # Live config reload (changes require restart)
    337 live_config_reload: true
    338 
    339 # Shell
    340 #
    341 # You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
    342 # Entries in `shell.args` are passed unmodified as arguments to the shell.
    343 #
    344 # Default:
    345 #   - (macOS) /bin/bash --login
    346 #   - (Linux) user login shell
    347 #   - (Windows) powershell
    348 #shell:
    349 #  program: /bin/bash
    350 #  args:
    351 #    - --login
    352 
    353 # Startup directory
    354 #
    355 # Directory the shell is started in. If this is unset, or `None`, the working
    356 # directory of the parent process will be used.
    357 working_directory: None
    358 
    359 # Windows 10 ConPTY backend (Windows only)
    360 #
    361 # This will enable better color support and may resolve other issues,
    362 # however this API and its implementation is still young and so is
    363 # disabled by default, as stability may not be as good as the winpty
    364 # backend.
    365 #
    366 # Alacritty will fall back to the WinPTY automatically if the ConPTY
    367 # backend cannot be initialized.
    368 enable_experimental_conpty_backend: false
    369 
    370 # Send ESC (\x1b) before characters when alt is pressed.
    371 alt_send_esc: true
    372 
    373 debug:
    374   # Display the time it takes to redraw each frame.
    375   render_timer: false
    376 
    377   # Keep the log file after quitting Alacritty.
    378   persistent_logging: false
    379 
    380   # Log level
    381   #
    382   # Values for `log_level`:
    383   #   - None
    384   #   - Error
    385   #   - Warn
    386   #   - Info
    387   #   - Debug
    388   #   - Trace
    389   log_level: Warn
    390 
    391   # Print all received window events.
    392   print_events: false
    393 
    394   # Record all characters and escape sequences as test data.
    395   ref_test: false
    396 
    397 # Key bindings
    398 #
    399 # Key bindings are specified as a list of objects. Each binding will specify a
    400 # key and modifiers required to trigger it, terminal modes where the binding is
    401 # applicable, and what should be done when the key binding fires. It can either
    402 # send a byte sequence to the running application (`chars`), execute a
    403 # predefined action (`action`) or fork and execute a specified command plus
    404 # arguments (`command`).
    405 #
    406 # Bindings are always filled by default, but will be replaced when a new binding
    407 # with the same triggers is defined. To unset a default binding, it can be
    408 # mapped to the `None` action.
    409 #
    410 # Example:
    411 #   `- { key: V, mods: Control|Shift, action: Paste }`
    412 #
    413 # Available fields:
    414 #   - key
    415 #   - mods (optional)
    416 #   - chars | action | command (exactly one required)
    417 #   - mode (optional)
    418 #
    419 # Values for `key`:
    420 #   - `A` -> `Z`
    421 #   - `F1` -> `F12`
    422 #   - `Key1` -> `Key0`
    423 #
    424 #   A full list with available key codes can be found here:
    425 #   https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants
    426 #
    427 #   Instead of using the name of the keys, the `key` field also supports using
    428 #   the scancode of the desired key. Scancodes have to be specified as a
    429 #   decimal number.
    430 #   This command will allow you to display the hex scancodes for certain keys:
    431 #     `showkey --scancodes`
    432 #
    433 # Values for `mods`:
    434 #   - Command
    435 #   - Control
    436 #   - Option
    437 #   - Super
    438 #   - Shift
    439 #   - Alt
    440 #
    441 #   Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`.
    442 #   Whitespace and capitalization is relevant and must match the example.
    443 #
    444 # Values for `chars`:
    445 #   The `chars` field writes the specified string to the terminal. This makes
    446 #   it possible to pass escape sequences.
    447 #   To find escape codes for bindings like `PageUp` ("\x1b[5~"), you can run
    448 #   the command `showkey -a` outside of tmux.
    449 #   Note that applications use terminfo to map escape sequences back to
    450 #   keys. It is therefore required to update the terminfo when
    451 #   changing an escape sequence.
    452 #
    453 # Values for `action`:
    454 #   - Paste
    455 #   - PasteSelection
    456 #   - Copy
    457 #   - IncreaseFontSize
    458 #   - DecreaseFontSize
    459 #   - ResetFontSize
    460 #   - ScrollPageUp
    461 #   - ScrollPageDown
    462 #   - ScrollLineUp
    463 #   - ScrollLineDown
    464 #   - ScrollToTop
    465 #   - ScrollToBottom
    466 #   - ClearHistory
    467 #   - Hide
    468 #   - Quit
    469 #   - ClearLogNotice
    470 #   - SpawnNewInstance
    471 #   - ToggleFullscreen
    472 #   - None
    473 #
    474 # Values for `action` (macOS only):
    475 #   - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
    476 #
    477 # Values for `command`:
    478 #   The `command` field must be a map containing a `program` string and
    479 #   an `args` array of command line parameter strings.
    480 #
    481 #   Example:
    482 #       `command: { program: "alacritty", args: ["-e", "vttest"] }`
    483 #
    484 # Values for `mode`:
    485 #   - ~AppCursor
    486 #   - AppCursor
    487 #   - ~AppKeypad
    488 #   - AppKeypad
    489 key_bindings:
    490   # (Windows/Linux only)
    491   #- { key: V,        mods: Control|Shift, action: Paste            }
    492   #- { key: C,        mods: Control|Shift, action: Copy             }
    493   #- { key: Insert,   mods: Shift,         action: PasteSelection   }
    494   #- { key: Key0,     mods: Control,       action: ResetFontSize    }
    495   #- { key: Equals,   mods: Control,       action: IncreaseFontSize }
    496   #- { key: Add,      mods: Control,       action: IncreaseFontSize }
    497   #- { key: Subtract, mods: Control,       action: DecreaseFontSize }
    498   #- { key: Minus,    mods: Control,       action: DecreaseFontSize }
    499   #- { key: Return,   mods: Alt,           action: ToggleFullscreen }
    500 
    501   # (macOS only)
    502   #- { key: Key0,   mods: Command,         action: ResetFontSize    }
    503   #- { key: Equals, mods: Command,         action: IncreaseFontSize }
    504   #- { key: Add,    mods: Command,         action: IncreaseFontSize }
    505   #- { key: Minus,  mods: Command,         action: DecreaseFontSize }
    506   #- { key: K,      mods: Command,         action: ClearHistory     }
    507   #- { key: K,      mods: Command,         chars: "\x0c"            }
    508   #- { key: V,      mods: Command,         action: Paste            }
    509   #- { key: C,      mods: Command,         action: Copy             }
    510   #- { key: H,      mods: Command,         action: Hide             }
    511   #- { key: Q,      mods: Command,         action: Quit             }
    512   #- { key: W,      mods: Command,         action: Quit             }
    513   #- { key: F,      mods: Command|Control, action: ToggleFullscreen }
    514 
    515   - { key: Paste,                   action: Paste                            }
    516   - { key: Copy,                    action: Copy                             }
    517   - { key: L,        mods: Control, action: ClearLogNotice                   }
    518   - { key: L,        mods: Control, chars: "\x0c"                            }
    519   - { key: Home,     mods: Alt,     chars: "\x1b[1;3H"                       }
    520   - { key: Home,                    chars: "\x1bOH",        mode: AppCursor  }
    521   - { key: Home,                    chars: "\x1b[H",        mode: ~AppCursor }
    522   - { key: End,      mods: Alt,     chars: "\x1b[1;3F"                       }
    523   - { key: End,                     chars: "\x1bOF",        mode: AppCursor  }
    524   - { key: End,                     chars: "\x1b[F",        mode: ~AppCursor }
    525   - { key: PageUp,   mods: Shift,   action: ScrollPageUp,   mode: ~Alt       }
    526   - { key: PageUp,   mods: Shift,   chars: "\x1b[5;2~",     mode: Alt        }
    527   - { key: PageUp,   mods: Control, chars: "\x1b[5;5~"                       }
    528   - { key: PageUp,   mods: Alt,     chars: "\x1b[5;3~"                       }
    529   - { key: PageUp,                  chars: "\x1b[5~"                         }
    530   - { key: PageDown, mods: Shift,   action: ScrollPageDown, mode: ~Alt       }
    531   - { key: PageDown, mods: Shift,   chars: "\x1b[6;2~",     mode: Alt        }
    532   - { key: PageDown, mods: Control, chars: "\x1b[6;5~"                       }
    533   - { key: PageDown, mods: Alt,     chars: "\x1b[6;3~"                       }
    534   - { key: PageDown,                chars: "\x1b[6~"                         }
    535   - { key: Tab,      mods: Shift,   chars: "\x1b[Z"                          }
    536   - { key: Back,                    chars: "\x7f"                            }
    537   - { key: Back,     mods: Alt,     chars: "\x1b\x7f"                        }
    538   - { key: Insert,                  chars: "\x1b[2~"                         }
    539   - { key: Delete,                  chars: "\x1b[3~"                         }
    540   - { key: Left,     mods: Shift,   chars: "\x1b[1;2D"                       }
    541   - { key: Left,     mods: Control, chars: "\x1b[1;5D"                       }
    542   - { key: Left,     mods: Alt,     chars: "\x1b[1;3D"                       }
    543   - { key: Left,                    chars: "\x1b[D",        mode: ~AppCursor }
    544   - { key: Left,                    chars: "\x1bOD",        mode: AppCursor  }
    545   - { key: Right,    mods: Shift,   chars: "\x1b[1;2C"                       }
    546   - { key: Right,    mods: Control, chars: "\x1b[1;5C"                       }
    547   - { key: Right,    mods: Alt,     chars: "\x1b[1;3C"                       }
    548   - { key: Right,                   chars: "\x1b[C",        mode: ~AppCursor }
    549   - { key: Right,                   chars: "\x1bOC",        mode: AppCursor  }
    550   - { key: Up,       mods: Shift,   chars: "\x1b[1;2A"                       }
    551   - { key: Up,       mods: Control, chars: "\x1b[1;5A"                       }
    552   - { key: Up,       mods: Alt,     chars: "\x1b[1;3A"                       }
    553   - { key: Up,                      chars: "\x1b[A",        mode: ~AppCursor }
    554   - { key: Up,                      chars: "\x1bOA",        mode: AppCursor  }
    555   - { key: Down,     mods: Shift,   chars: "\x1b[1;2B"                       }
    556   - { key: Down,     mods: Control, chars: "\x1b[1;5B"                       }
    557   - { key: Down,     mods: Alt,     chars: "\x1b[1;3B"                       }
    558   - { key: Down,                    chars: "\x1b[B",        mode: ~AppCursor }
    559   - { key: Down,                    chars: "\x1bOB",        mode: AppCursor  }
    560   - { key: F1,                      chars: "\x1bOP"                          }
    561   - { key: F2,                      chars: "\x1bOQ"                          }
    562   - { key: F3,                      chars: "\x1bOR"                          }
    563   - { key: F4,                      chars: "\x1bOS"                          }
    564   - { key: F5,                      chars: "\x1b[15~"                        }
    565   - { key: F6,                      chars: "\x1b[17~"                        }
    566   - { key: F7,                      chars: "\x1b[18~"                        }
    567   - { key: F8,                      chars: "\x1b[19~"                        }
    568   - { key: F9,                      chars: "\x1b[20~"                        }
    569   - { key: F10,                     chars: "\x1b[21~"                        }
    570   - { key: F11,                     chars: "\x1b[23~"                        }
    571   - { key: F12,                     chars: "\x1b[24~"                        }
    572   - { key: F1,       mods: Shift,   chars: "\x1b[1;2P"                       }
    573   - { key: F2,       mods: Shift,   chars: "\x1b[1;2Q"                       }
    574   - { key: F3,       mods: Shift,   chars: "\x1b[1;2R"                       }
    575   - { key: F4,       mods: Shift,   chars: "\x1b[1;2S"                       }
    576   - { key: F5,       mods: Shift,   chars: "\x1b[15;2~"                      }
    577   - { key: F6,       mods: Shift,   chars: "\x1b[17;2~"                      }
    578   - { key: F7,       mods: Shift,   chars: "\x1b[18;2~"                      }
    579   - { key: F8,       mods: Shift,   chars: "\x1b[19;2~"                      }
    580   - { key: F9,       mods: Shift,   chars: "\x1b[20;2~"                      }
    581   - { key: F10,      mods: Shift,   chars: "\x1b[21;2~"                      }
    582   - { key: F11,      mods: Shift,   chars: "\x1b[23;2~"                      }
    583   - { key: F12,      mods: Shift,   chars: "\x1b[24;2~"                      }
    584   - { key: F1,       mods: Control, chars: "\x1b[1;5P"                       }
    585   - { key: F2,       mods: Control, chars: "\x1b[1;5Q"                       }
    586   - { key: F3,       mods: Control, chars: "\x1b[1;5R"                       }
    587   - { key: F4,       mods: Control, chars: "\x1b[1;5S"                       }
    588   - { key: F5,       mods: Control, chars: "\x1b[15;5~"                      }
    589   - { key: F6,       mods: Control, chars: "\x1b[17;5~"                      }
    590   - { key: F7,       mods: Control, chars: "\x1b[18;5~"                      }
    591   - { key: F8,       mods: Control, chars: "\x1b[19;5~"                      }
    592   - { key: F9,       mods: Control, chars: "\x1b[20;5~"                      }
    593   - { key: F10,      mods: Control, chars: "\x1b[21;5~"                      }
    594   - { key: F11,      mods: Control, chars: "\x1b[23;5~"                      }
    595   - { key: F12,      mods: Control, chars: "\x1b[24;5~"                      }
    596   - { key: F1,       mods: Alt,     chars: "\x1b[1;6P"                       }
    597   - { key: F2,       mods: Alt,     chars: "\x1b[1;6Q"                       }
    598   - { key: F3,       mods: Alt,     chars: "\x1b[1;6R"                       }
    599   - { key: F4,       mods: Alt,     chars: "\x1b[1;6S"                       }
    600   - { key: F5,       mods: Alt,     chars: "\x1b[15;6~"                      }
    601   - { key: F6,       mods: Alt,     chars: "\x1b[17;6~"                      }
    602   - { key: F7,       mods: Alt,     chars: "\x1b[18;6~"                      }
    603   - { key: F8,       mods: Alt,     chars: "\x1b[19;6~"                      }
    604   - { key: F9,       mods: Alt,     chars: "\x1b[20;6~"                      }
    605   - { key: F10,      mods: Alt,     chars: "\x1b[21;6~"                      }
    606   - { key: F11,      mods: Alt,     chars: "\x1b[23;6~"                      }
    607   - { key: F12,      mods: Alt,     chars: "\x1b[24;6~"                      }
    608   - { key: F1,       mods: Super,   chars: "\x1b[1;3P"                       }
    609   - { key: F2,       mods: Super,   chars: "\x1b[1;3Q"                       }
    610   - { key: F3,       mods: Super,   chars: "\x1b[1;3R"                       }
    611   - { key: F4,       mods: Super,   chars: "\x1b[1;3S"                       }
    612   - { key: F5,       mods: Super,   chars: "\x1b[15;3~"                      }
    613   - { key: F6,       mods: Super,   chars: "\x1b[17;3~"                      }
    614   - { key: F7,       mods: Super,   chars: "\x1b[18;3~"                      }
    615   - { key: F8,       mods: Super,   chars: "\x1b[19;3~"                      }
    616   - { key: F9,       mods: Super,   chars: "\x1b[20;3~"                      }
    617   - { key: F10,      mods: Super,   chars: "\x1b[21;3~"                      }
    618   - { key: F11,      mods: Super,   chars: "\x1b[23;3~"                      }
    619   - { key: F12,      mods: Super,   chars: "\x1b[24;3~"                      }
    620   - { key: NumpadEnter,             chars: "\n"                              }