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

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
1
down vote

favorite
1












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)






share|improve this question


















  • 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















up vote
1
down vote

favorite
1












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)






share|improve this question


















  • 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













up vote
1
down vote

favorite
1









up vote
1
down vote

favorite
1






1





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)






share|improve this question














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)








share|improve this question













share|improve this question




share|improve this question








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, 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













  • 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








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
















active

oldest

votes











Your Answer







StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: false,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















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



































active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes















 

draft saved


draft discarded















































 


draft saved


draft discarded














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













































































Popular posts from this blog

How to check contact read email or not when send email to Individual?

Displaying single band from multi-band raster using QGIS

How many registers does an x86_64 CPU actually have?