Where can I find keyboard key combinations that enter non-printable terminal characters?

Clash Royale CLAN TAG#URR8PPP
up vote
1
down vote
favorite
For example, in my xterm to get:
000: Ctrl+Space or Ctrl+@
001: Ctrl+A
002: Ctrl+B
003: Ctrl+C
004: Ctrl+D
005: Ctrl+E
006: Ctrl+F
007: Ctrl+G
008: Ctrl+H
009: Ctrl+I or Tab
010: Ctrl+J or Ctrl+M or Enter
011: Ctrl+K
012: Ctrl+L
013: can't find any.
014: Ctrl+N
015: Ctrl+O
016: Ctrl+P
017: Ctrl+Q
018: Ctrl+R
019: Ctrl+S
020: Ctrl+T
021: Ctrl+U
022: Ctrl+V
023: Ctrl+W
024: Ctrl+X
025: Ctrl+Y
026: Ctrl+Z
027: Ctrl+[ or Esc
028: Ctrl+
029: Ctrl+]
030: Ctrl+^
031: Ctrl+_ or Ctrl+/
Characters from 032 to 127, inclusively, are all printable, but there are some that can be referred in multiple ways using either Ctrl, Shift or Alt or a combination of those.
Then there are characters from 128 to something I don't know.
Test script:
#!/usr/bin/env python3
import curses
import os
def main(stdscr):
curses.raw()
while True:
stdscr.addstr(0, 0, str(stdscr.getch()))
stdscr.refresh()
if __name__ == "__main__":
os.environ.setdefault('ESCDELAY', '0')
curses.wrapper(main)
terminal escape-characters ncurses
add a comment |Â
up vote
1
down vote
favorite
For example, in my xterm to get:
000: Ctrl+Space or Ctrl+@
001: Ctrl+A
002: Ctrl+B
003: Ctrl+C
004: Ctrl+D
005: Ctrl+E
006: Ctrl+F
007: Ctrl+G
008: Ctrl+H
009: Ctrl+I or Tab
010: Ctrl+J or Ctrl+M or Enter
011: Ctrl+K
012: Ctrl+L
013: can't find any.
014: Ctrl+N
015: Ctrl+O
016: Ctrl+P
017: Ctrl+Q
018: Ctrl+R
019: Ctrl+S
020: Ctrl+T
021: Ctrl+U
022: Ctrl+V
023: Ctrl+W
024: Ctrl+X
025: Ctrl+Y
026: Ctrl+Z
027: Ctrl+[ or Esc
028: Ctrl+
029: Ctrl+]
030: Ctrl+^
031: Ctrl+_ or Ctrl+/
Characters from 032 to 127, inclusively, are all printable, but there are some that can be referred in multiple ways using either Ctrl, Shift or Alt or a combination of those.
Then there are characters from 128 to something I don't know.
Test script:
#!/usr/bin/env python3
import curses
import os
def main(stdscr):
curses.raw()
while True:
stdscr.addstr(0, 0, str(stdscr.getch()))
stdscr.refresh()
if __name__ == "__main__":
os.environ.setdefault('ESCDELAY', '0')
curses.wrapper(main)
terminal escape-characters ncurses
4
AFAIK, in Xterm (or any decent terminal emulator) <U+000D> is^M(Control-M) or <Enter>. You don't have to set any environment variable to make <Esc> or^[produce <U+001B>. To test, startvim, enter insert mode (i) and press^V<Esc>; you will get an <U+001B> instantly. Also, you can extend your table to <U+001F>:^,^],^^,^_(that is, control-, control-], control-^and control-_). This has been so since the beginning of time, when terminals where real pieces of hardware.
â AlexP
Nov 28 '17 at 12:36
add a comment |Â
up vote
1
down vote
favorite
up vote
1
down vote
favorite
For example, in my xterm to get:
000: Ctrl+Space or Ctrl+@
001: Ctrl+A
002: Ctrl+B
003: Ctrl+C
004: Ctrl+D
005: Ctrl+E
006: Ctrl+F
007: Ctrl+G
008: Ctrl+H
009: Ctrl+I or Tab
010: Ctrl+J or Ctrl+M or Enter
011: Ctrl+K
012: Ctrl+L
013: can't find any.
014: Ctrl+N
015: Ctrl+O
016: Ctrl+P
017: Ctrl+Q
018: Ctrl+R
019: Ctrl+S
020: Ctrl+T
021: Ctrl+U
022: Ctrl+V
023: Ctrl+W
024: Ctrl+X
025: Ctrl+Y
026: Ctrl+Z
027: Ctrl+[ or Esc
028: Ctrl+
029: Ctrl+]
030: Ctrl+^
031: Ctrl+_ or Ctrl+/
Characters from 032 to 127, inclusively, are all printable, but there are some that can be referred in multiple ways using either Ctrl, Shift or Alt or a combination of those.
Then there are characters from 128 to something I don't know.
Test script:
#!/usr/bin/env python3
import curses
import os
def main(stdscr):
curses.raw()
while True:
stdscr.addstr(0, 0, str(stdscr.getch()))
stdscr.refresh()
if __name__ == "__main__":
os.environ.setdefault('ESCDELAY', '0')
curses.wrapper(main)
terminal escape-characters ncurses
For example, in my xterm to get:
000: Ctrl+Space or Ctrl+@
001: Ctrl+A
002: Ctrl+B
003: Ctrl+C
004: Ctrl+D
005: Ctrl+E
006: Ctrl+F
007: Ctrl+G
008: Ctrl+H
009: Ctrl+I or Tab
010: Ctrl+J or Ctrl+M or Enter
011: Ctrl+K
012: Ctrl+L
013: can't find any.
014: Ctrl+N
015: Ctrl+O
016: Ctrl+P
017: Ctrl+Q
018: Ctrl+R
019: Ctrl+S
020: Ctrl+T
021: Ctrl+U
022: Ctrl+V
023: Ctrl+W
024: Ctrl+X
025: Ctrl+Y
026: Ctrl+Z
027: Ctrl+[ or Esc
028: Ctrl+
029: Ctrl+]
030: Ctrl+^
031: Ctrl+_ or Ctrl+/
Characters from 032 to 127, inclusively, are all printable, but there are some that can be referred in multiple ways using either Ctrl, Shift or Alt or a combination of those.
Then there are characters from 128 to something I don't know.
Test script:
#!/usr/bin/env python3
import curses
import os
def main(stdscr):
curses.raw()
while True:
stdscr.addstr(0, 0, str(stdscr.getch()))
stdscr.refresh()
if __name__ == "__main__":
os.environ.setdefault('ESCDELAY', '0')
curses.wrapper(main)
terminal escape-characters ncurses
edited Nov 28 '17 at 13:07
asked Nov 28 '17 at 12:29
MarkWeston
1092
1092
4
AFAIK, in Xterm (or any decent terminal emulator) <U+000D> is^M(Control-M) or <Enter>. You don't have to set any environment variable to make <Esc> or^[produce <U+001B>. To test, startvim, enter insert mode (i) and press^V<Esc>; you will get an <U+001B> instantly. Also, you can extend your table to <U+001F>:^,^],^^,^_(that is, control-, control-], control-^and control-_). This has been so since the beginning of time, when terminals where real pieces of hardware.
â AlexP
Nov 28 '17 at 12:36
add a comment |Â
4
AFAIK, in Xterm (or any decent terminal emulator) <U+000D> is^M(Control-M) or <Enter>. You don't have to set any environment variable to make <Esc> or^[produce <U+001B>. To test, startvim, enter insert mode (i) and press^V<Esc>; you will get an <U+001B> instantly. Also, you can extend your table to <U+001F>:^,^],^^,^_(that is, control-, control-], control-^and control-_). This has been so since the beginning of time, when terminals where real pieces of hardware.
â AlexP
Nov 28 '17 at 12:36
4
4
AFAIK, in Xterm (or any decent terminal emulator) <U+000D> is
^M (Control-M) or <Enter>. You don't have to set any environment variable to make <Esc> or ^[ produce <U+001B>. To test, start vim, enter insert mode (i) and press ^V <Esc>; you will get an <U+001B> instantly. Also, you can extend your table to <U+001F>: ^ , ^], ^^, ^_ (that is, control- , control-], control-^ and control-_). This has been so since the beginning of time, when terminals where real pieces of hardware.â AlexP
Nov 28 '17 at 12:36
AFAIK, in Xterm (or any decent terminal emulator) <U+000D> is
^M (Control-M) or <Enter>. You don't have to set any environment variable to make <Esc> or ^[ produce <U+001B>. To test, start vim, enter insert mode (i) and press ^V <Esc>; you will get an <U+001B> instantly. Also, you can extend your table to <U+001F>: ^ , ^], ^^, ^_ (that is, control- , control-], control-^ and control-_). This has been so since the beginning of time, when terminals where real pieces of hardware.â AlexP
Nov 28 '17 at 12:36
add a comment |Â
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f407493%2fwhere-can-i-find-keyboard-key-combinations-that-enter-non-printable-terminal-cha%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
4
AFAIK, in Xterm (or any decent terminal emulator) <U+000D> is
^M(Control-M) or <Enter>. You don't have to set any environment variable to make <Esc> or^[produce <U+001B>. To test, startvim, enter insert mode (i) and press^V<Esc>; you will get an <U+001B> instantly. Also, you can extend your table to <U+001F>:^,^],^^,^_(that is, control-, control-], control-^and control-_). This has been so since the beginning of time, when terminals where real pieces of hardware.â AlexP
Nov 28 '17 at 12:36