title: Clojure: generate all keyboard typeable characters
body: <h2>Context</h2>
  
  <p>I want to generate all characters that can be generated by:</p>
  
  <ul>
  <li>opening note pad</li>
  <li>pressing a single key on the keyboard</li>
  <li>holding shift + pressing a single key on the keyboard</li>
  </ul>
  
  <h2>What I currently have:</h2>
  
  <pre><code>(concat (range (int \a) (int \z))
    (range (int \A) (int \Z))
    (range (int \0) (int \9)))
  </code></pre>
  
  <p>then manually appending more characters like ~!@#$%^&amp;*()_+{}|:"&lt;>?,./;'[]\</p>
  
  <h2>Question</h2>
  
  <p>Is there a more elegant way of doing this?</p>
  
  <h2>Edits</h2>
  
  <p>Yes, I'm referring to US Qwerty keyboard.</p>