Skip to content

keyboard shortcuts confused by numlock #1901

Description

@cqexbesd

Contour Terminal version

0.6.3-master-c3108bfa

Installer source

GitHub: Source code

Operating System

Arch Linux

Architecture

x86-64 / amd64

Shell

tcsh

GPU & Renderer

OpenGL renderer string: AMD Radeon Graphics (radeonsi, renoir, ACO, DRM 3.64, 6.18.9-arch1-2)
Control Codes
=============

EOT                  \x04            End of Transmission (VT100)
BEL                  \x07            Bell (VT100)
BS                   \x08            Backspace (VT100)
TAB                  \t              Tab (VT100)
LF                   \n              Line Feed (VT100)
VT                   \x0b            Vertical Tab (VT100)
FF                   \x0c            Form Feed (VT100)
CR                   \r              Carriage Return (VT100)
LS1                  \x0e            Shift Out; Maps G1 into GL. (VT220)
LS0                  \x0f            Shift In; Maps G0 into GL (the default). (VT220)

Escape Sequences
================

SCS_G0_SPECIAL       ESC ( 0         Set G0 to DEC Special Character and Line Drawing Set (VT100)
SCS_G1_SPECIAL       ESC ) 0         Set G1 to DEC Special Character and Line Drawing Set (VT100)
DECDHL_Top           ESC # 3         Double-Height Line (Top Half) (VT100)
DECDHL_Bottom        ESC # 4         Double-Height Line (Bottom Half) (VT100)
DECSWL               ESC # 5         Single-Width Line (VT100)
DECBI                ESC   6         Back Index (VT100)
DECDWL               ESC # 6         Double-Width Line (VT100)
DECSC                ESC   7         Save Cursor (VT100)
DECRS                ESC   8         Restore Cursor (VT100)
DECALN               ESC # 8         Screen Alignment Pattern (VT100)
DECFI                ESC   9         Forward Index (VT100)
DECKPAM              ESC   =         Keypad Application Mode (VT100)
DECKPNM              ESC   >         Keypad Numeric Mode (VT100)
SCS_G0_USASCII       ESC ( B         Set G0 to USASCII (VT100)
SCS_G1_USASCII       ESC ) B         Set G1 to USASCII (VT100)
IND                  ESC   D         Index (VT100)
NEL                  ESC   E         Next Line (VT100)
HTS                  ESC   H         Horizontal Tab Set (VT100)
RI                   ESC   M         Reverse Index (VT100)
SS2                  ESC   N         Single Shift Select (G2 Character Set) (VT220)
SS3                  ESC   O         Single Shift Select (G3 Character Set) (VT220)
RIS                  ESC   c         Reset to Initial State (Hard Reset) (VT100)

Control Sequences
=================

DECXCPR              CSI   0      6  Report cursor position (VT100)
ICH                  CSI   0..1   @  Insert characters (VT420)
SL                   CSI   0..1   @  Scroll Left (VT420)
CUU                  CSI   0..1   A  Move cursor up (VT100)
SR                   CSI   0..1   A  Scroll Right (VT420)
CUD                  CSI   0..1   B  Move cursor down (VT100)
CUF                  CSI   0..1   C  Move cursor forward (VT100)
CUB                  CSI   0..1   D  Move cursor backward (VT100)
CNL                  CSI   0..1   E  Move cursor to next line (VT100)
CPL                  CSI   0..1   F  Move cursor to previous line (VT100)
CHA                  CSI   0..1   G  Move cursor to column (VT100)
CUP                  CSI   0..2   H  Move cursor to position (VT100)
CHT                  CSI   0..1   I  Cursor Horizontal Forward Tabulation (VT100)
ED                   CSI   0..    J  Erase in Display (VT100)
DECSED               CSI ? 0..1   J  Selective Erase in Display (VT240)
EL                   CSI   0..1   K  Erase in Line (VT100)
DECSEL               CSI ? 0..1   K  Selective Erase in Line (VT240)
IL                   CSI   0..1   L  Insert lines (VT100)
DL                   CSI   0..1   M  Delete lines (VT100)
SETMARK              CSI > 0      M  Set Mark (Contour)
DCH                  CSI   0..1   P  Delete characters (VT100)
XTPUSHCOLORS         CSI   0..  # P  Pushes the color palette onto the palette's saved-stack. (XTerm)
XTPOPCOLORS          CSI   0..  # Q  Pops the color palette from the palette's saved-stack. (XTerm)
XTREPORTCOLORS       CSI   0    # R  Reports number of color palettes on the stack. (XTerm)
SU                   CSI   0..1   S  Scroll Up (VT100)
XTSMGRAPHICS         CSI ? 2..4   S  Set/request graphics attribute (XTerm)
SD                   CSI   0..1   T  Scroll Down (VT100)
UNSCROLL             CSI   0..1 + T  Scroll Down with Scrollback Fill (kitty unscroll) (unknown)
ECH                  CSI   0..1   X  Erase characters (VT420)
CBT                  CSI   0..1   Z  Cursor Backward Tabulation (VT100)
HPA                  CSI   1      `  Horizontal Position Absolute (VT100)
HPR                  CSI   1      a  Horizontal Position Relative (VT100)
REP                  CSI   1      b  Repeat last character (VT100)
DA1                  CSI   0..1   c  Primary Device Attributes (VT100)
DA3                  CSI = 0..1   c  Tertiary Device Attributes (VT100)
DA2                  CSI > 0..1   c  Secondary Device Attributes (VT100)
VPA                  CSI   0..1   d  Vertical Position Absolute (VT100)
HVP                  CSI   0..2   f  Horizontal and Vertical Position (VT100)
TBC                  CSI   0..1   g  Horizontal Tab Clear (VT100)
SM                   CSI   1..    h  Set Mode (VT100)
DECSM                CSI ? 1..    h  Set DEC-mode (VT100)
RM                   CSI   1..    l  Reset Mode (VT100)
DECRM                CSI ? 1..    l  Reset DEC-mode (VT100)
SGR                  CSI   0..    m  Select Graphic Rendition (VT100)
MODIFYOTHERKEYS      CSI > 0..1   m  Modify Other Keys mode (XTerm)
DSR                  CSI   1      n  Device Status Report (DEC) (VT100)
DSR                  CSI ? 1      n  Device Status Report (DEC) (VT100)
DECSSCLS             CSI   0..1   p  Set Scroll Speed. (VT510)
DECSTR               CSI   0    ! p  Soft terminal reset (VT100)
DECSCL               CSI   2    " p  Set conformance level (DECSCL), VT220 and up. (VT220)
DECRQM_ANSI          CSI   1    $ p  Request ANSI-mode (VT100)
DECRQM               CSI ? 1    $ p  Request DEC-mode (VT100)
DECSCUSR             CSI   0..1   q  Set Cursor Style (VT520)
DECSCA               CSI   0..1 " q  Select Character Protection Attribute (VT240)
XTVERSION            CSI > 0..1   q  Report xterm version (XTerm)
DECSTBM              CSI   0..2   r  Set top/bottom margin (VT100)
DECCARA              CSI   5..  $ r  Change Attributes in Rectangular Area (VT420)
XTRESTORE            CSI ? 0..    r  Restore DEC private modes. (XTerm)
SCOSC                CSI   0      s  Save Cursor (available only when DECLRMM is disabled) (VT100)
DECSLRM              CSI   0..2   s  Set left/right margin (VT420)
XTSHIFTESCAPE        CSI > 0..1   s  Set/reset shift-escape options (XTerm)
XTSAVE               CSI ? 0..    s  Save DEC private modes. (XTerm)
WINMANIP             CSI   1..3   t  Window Manipulation (XTerm)
DECRARA              CSI   5..  $ t  Reverse Attributes in Rectangular Area (VT420)
XTCAPTURE            CSI > 0..2   t  Report screen buffer capture. (Contour)
ANSISYSSC            CSI   0      u  Save Cursor (ANSI.SYS) (VT100)
CSIULEAVE            CSI < 0..1   u  Leave Extended keyboard mode (unknown)
CSIUENHCE            CSI = 0..2   u  Request enhancement to extended keyboard mode (unknown)
CSIUENTER            CSI > 0..1   u  Enter Extended keyboard mode (unknown)
CSIUQUERY            CSI ? 0      u  Query Extended keyboard mode (unknown)
DECCRA               CSI   0..8 $ v  Copy rectangular area (VT420)
DECRQPSR             CSI   1    $ w  Request presentation state report (VT320)
DECFRA               CSI   0..5 $ x  Fill rectangular area (VT420)
DECSACE              CSI   0..1 * x  Select Attribute Change Extent (VT420)
XTCHECKSUM           CSI   1    # y  Select checksum extension (XTerm)
DECRQCRA             CSI   2..6 $ y  Request Checksum of Rectangular Area (VT420)
DECERA               CSI   0..4 $ z  Erase rectangular area (VT420)
SGRSAVE              CSI   0    # {  Saves video attributes onto stack. (XTerm)
DECSERA              CSI   0..4 $ {  Selective Erase in Rectangular Area (VT240)
DECSCPP              CSI   0..1 $ |  Select 80 or 132 Columns per Page (VT100)
DECSNLS              CSI   0..1 * |  Select number of lines per screen. (VT420)
SGRRESTORE           CSI   0    # }  Restores video attributes. (XTerm)
DECSASD              CSI   0..1 $ }  Select Active Status Display (VT420)
DECIC                CSI   0..1 ' }  Insert column (VT420)
DECSSDT              CSI   0..1 $ ~  Select Status Display (Line) Type (VT320)
DECDC                CSI   0..1 ' ~  Delete column (VT420)
DECPS                CSI   3..18 , ~ Controls the sound frequency or notes (VT520)

Operating System Commands
=========================

SETTITLE             OSC 0           Change Window & Icon Title (XTerm)
SETICON              OSC 1           Change Icon Title (XTerm)
SETWINTITLE          OSC 2           Change Window Title (XTerm)
SETXPROP             OSC 3           Set X11 property (XTerm)
SETCOLPAL            OSC 4           Set/Query color palette (XTerm)
SETCWD               OSC 7           Set current working directory (XTerm)
HYPERLINK            OSC 8           Hyperlinked Text (unknown)
CONEMU               OSC 9           ConEmu-style notification or progress indicator (unknown)
COLORFG              OSC 10          Change or request text foreground color. (XTerm)
COLORBG              OSC 11          Change or request text background color. (XTerm)
COLORCURSOR          OSC 12          Change text cursor color to Pt. (XTerm)
COLORMOUSEFG         OSC 13          Change mouse foreground color. (XTerm)
COLORMOUSEBG         OSC 14          Change mouse background color. (XTerm)
SETTABNAME           OSC 30          Set Session/Tab Name (XTerm)
SETFONT              OSC 50          Get or set font. (XTerm)
CLIPBOARD            OSC 52          Clipboard management. (XTerm)
SETFONTALL           OSC 60          Get or set all font faces, styles, size. (Contour)
DESKTOPNOTIFY        OSC 99          Kitty Desktop Notification. (unknown)
RCOLPAL              OSC 104         Reset color full palette or entry (XTerm)
COLORSPECIAL         OSC 106         Enable/disable Special Color Number c. (XTerm)
RCOLORFG             OSC 110         Reset VT100 text foreground color. (XTerm)
RCOLORBG             OSC 111         Reset VT100 text background color. (XTerm)
RCOLORCURSOR         OSC 112         Reset text cursor color. (XTerm)
RCOLORMOUSEFG        OSC 113         Reset mouse foreground color. (XTerm)
RCOLORMOUSEBG        OSC 114         Reset mouse background color. (XTerm)
RCOLORHIGHLIGHTBG    OSC 117         Reset highlight background color. (XTerm)
RCOLORHIGHLIGHTFG    OSC 119         Reset highlight foreground color. (XTerm)
SEMA                 OSC 133         Semantic block / shell integration (unknown)
NOTIFY               OSC 777         Send Notification. (XTerm)
DUMPSTATE            OSC 888         Dumps internal state to debug stream. (Contour)

Device Control Sequences
========================

STP                  DCS   0    $ p  Set Terminal Profile (Contour)
DECSIXEL             DCS   0..3   q  Sixel Graphics Image (VT330)
DECRQSS              DCS   0    $ q  Request Status String (VT420)
XTGETTCAP            DCS   0    + q  Request Termcap/Terminfo String (XTerm)

Other Software

No response

Steps to reproduce

Type Ctrl-Shift-N. Note that nothing happens

Expected Behavior

A new window would appear.

Actual Behavior

Nothing

Configuration excerpt

- { mods: [Shift,Control]     , key: 'N'                     , action: NewTerminal }

Additional notes

Copied from #1884 (comment) to get it more visible.

[2026-02-19 10:42:47.029840] [vt.input] Sending Shift|Control|NumLock "N" Press.
[2026-02-19 10:42:47.030045] [vt.trace.sequence] control U+07 (Bell, Alert)

If NumLock is off then things work again but I think, by default, keyboard shortcuts should be NumLock/CapsLock/ScrollLock agnostic. Particularly as I don't have a button on this keyboard to turn off NumLock so I had to work out how to toggle it from software :-)

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions