I can filter out mouse movement events, but then there would be a huge amount of CPU time spent in doing so.

There wouldn't. To begin with, Input blocks, you don't have to GetEvents at all, nor sleep/usleep. Next, if "event" is generated (or "message" is sent to application) in case of mouse motion, say, 20* times per second until motion ceases, it's "huge" amount of messages for a human, but your computer/CPU would hardly notice it has spent any time doing so and processing these messages per your instructions -- unless you yourself, as programmer, inadvertently put something time consuming/blocking into event loop.

Have a look at e.g. Term::Choose (which works on top of guess-what Perl module when on Windows), where mouse motion is simply discarded ("filtered") every time, if I'm reading the source correctly. Plus, by the way, I was going to suggest it as kind of higher-level/friendlier/cross-platform/feature-rich text-mode UI toolkit instead of you rolling out your own event loop application with Win32::Console.

(*) I'm sorry, I said "20", but can't, off the top of my hat, provide the exact figure (which probably depends on speed/distance) without googling.


In reply to Re^5: Unable to capture mouse events in Win32::Console by vr
in thread Unable to capture mouse events in Win32::Console by fireblood

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.