title: Patch scrolling back in suckless ST terminal to support mouse wheel
body: <p>The <a href="http://st.suckless.org/" rel="noreferrer">ST terminal</a> has a <a href="http://st.suckless.org/patches/scrollback" rel="noreferrer">patch for scrolling back</a>. I want to update said patch to enable mouse wheel up and down signals in additions to "PageUp" and "PageDown".  I suspect that a small change in <code>config.h</code> is what is needed but I have no experience in terminal code thus my plea for help.</p>
  
  <p>In the source code, in <code>config.h</code> these lines appear:</p>
  
  <pre><code>static Mousekey mshortcuts[] = {
      /* button               mask            string */
      { Button4,              XK_ANY_MOD,     "\031" },
      { Button5,              XK_ANY_MOD,     "\005" },
  };
  </code></pre>
  
  <p>So, clearly, we know what Button4/5 are. In addition, we have these:</p>
  
  <pre><code>static Shortcut shortcuts[] = {
      /* mask                 keysym          function        argument */
      [...]
      { ShiftMask,            XK_Page_Up,     kscrollup,      {.i = -1} },
      { ShiftMask,            XK_Page_Down,   kscrolldown,    {.i = -1} },
  };
  </code></pre>
  
  <p>So, naively, I a assuming that adding another two raw (one for wheel up, one for wheel down) would do the trick.  However, what?</p>
  
  <hr>
  
  <p><strong>Note:</strong> I <em>know</em> that <a href="http://st.suckless.org/" rel="noreferrer">suckless</a> recommends using a terminal multiplexer such as <a href="http://tmux.sourceforge.net/" rel="noreferrer">tmux</a>.  I use that already.  However, sometimes (rarely) I just want to use a terminal without <a href="http://tmux.sourceforge.net/" rel="noreferrer">tmux</a> and this feature would be useful. <em>Please do not comment/answer to use <a href="http://tmux.sourceforge.net/" rel="noreferrer">tmux</a>, this is not what this question is about.</em></p>