18

To communicate with a serial-type device over a telnet socket, I need to type the null character (ASCII 0) and all other non-printable ASCII characters.

On Windows, you hold ALT and type the ASCII code.

How do I do this on Mac OS X?

Wuffers
  • 19,020
  • 17
  • 95
  • 126
davidcann
  • 283
  • 1
  • 2
  • 5

2 Answers2

19

CtrlSpace sends ASCII NUL.

For the general case, System Preferences > Keyboard > Input Sources, scroll down the list and select Unicode Hex Input.

You can then use CmdShiftSpace (and, if you disable Spotlight's use of it, CmdSpace) to switch between input modes or assign it a keyboard shortcut of its own (and presumably another to switch back) in System Preferences > Keyboard > Keyboard Shortcuts.

Once Unicode Hex Input is enabled, you hold down Option and type the 4 digit hex code; on releasing Option it should be typed. You could stay in that mode as long as you don't need any characters beyond U+007F (or of course type them all with hex input instead of, say, Optione e to type é).

slhck
  • 223,558
  • 70
  • 607
  • 592
geekosaur
  • 11,723
  • 32
  • 40
  • 1
    Great, thanks! Note to others: on my system, the default shortcut key was Option Cmd Space. – davidcann Mar 17 '11 at 18:55
  • For Mac OS X it's Shift + Alt + Space –  Jul 21 '14 at 18:01
  • 1
    In my case, I had to enter a `DLE` character (Unicode 0x10) onto the command-line. `DLE` is the same thing as `Ctrl-P` which, in any program that uses `readline` sees as a "scroll to previous entry" command, so it's the same thing as pressing `↑`. In order to type a `DLE` character on my terminal, I had to do `Ctrl-V` then `Opt-0-0-1-0` and I got a character that looks on the screen like `^P`. – Christopher Schultz Sep 29 '16 at 15:29
2

In many CLI/TUI applications you can press CtrlV in order to tell the application to accept the next keypress as raw character codes instead of invoking its normal function.

Ignacio Vazquez-Abrams
  • 111,361
  • 10
  • 201
  • 247