What is TTY?
&gt; Because Ctrl+W is provided by something called TTY, and the other three are provided by the shell<p>This is more complicated (or simpler?) than what the article explains. Or I might be really confused. But if you strace bash while typing in stuff, you see clearly that it is reading in characters one by one, including ^W, and handling them itself. I don&#x27;t see TTY doing much magic here at all:<p><pre><code>    read(0, &quot;h&quot;, 1)                         = 1
    write(2, &quot;h&quot;, 1)                        = 1
    read(0, &quot;e&quot;, 1)                         = 1
    write(2, &quot;e&quot;, 1)                        = 1
    read(0, &quot;l&quot;, 1)                         = 1
    write(2, &quot;l&quot;, 1)                        = 1
    read(0, &quot;l&quot;, 1)                         = 1
    write(2, &quot;l&quot;, 1)                        = 1
    read(0, &quot;o&quot;, 1)                         = 1
    write(2, &quot;o&quot;, 1)                        = 1
    read(0, &quot; &quot;, 1)                         = 1
    write(2, &quot; &quot;, 1)                        = 1
    read(0, &quot;w&quot;, 1)                         = 1
    write(2, &quot;w&quot;, 1)                        = 1
    read(0, &quot;o&quot;, 1)                         = 1
    write(2, &quot;o&quot;, 1)                        = 1
    read(0, &quot;r&quot;, 1)                         = 1
    write(2, &quot;r&quot;, 1)                        = 1
    read(0, &quot;l&quot;, 1)                         = 1
    write(2, &quot;l&quot;, 1)                        = 1
    read(0, &quot;d&quot;, 1)                         = 1
    write(2, &quot;d&quot;, 1)                        = 1
    read(0, &quot;\x17&quot;, 1)                      = 1     &lt;-- bash reading in ^W!
    write(2, &quot;\x08\x08\x08\x08\x08\x1b\x5b\x4b&quot;, 8) = 8</code></pre>