9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: tlaronde@polynum.com
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] Raw Input Driver
Date: Fri, 20 Mar 2009 16:02:00 +0100	[thread overview]
Message-ID: <20090320150200.GA2011@polynum.com> (raw)
In-Reply-To: <df49a7370903200726t49cff60ekc6c71405df4a6cd3@mail.gmail.com>

On Fri, Mar 20, 2009 at 02:26:02PM +0000, roger peppe wrote:
>
> that's fine for location-based events, e.g. from a mouse,
> (well, fine for largely static UIs)
> but still leaves unresolved the issue of how do deal with
> events that are agnostic about their destination, such
> as keyboard events. you can't decide which graphical
> element a key press is destined for until you know the
> mouse language of your application. acme has both click-to-type
> and point-to-type - the client would need to know which one
> to use, otherwise you still have exactly the same ordering
> problem as before.

In my design, there is a "virtual machine" (?), a software processing
unit (?) on the terminal, stack based, so that when you are gathering
events on a window, whether pointer location-based, or button events
(location agnostic except for the window it is sent in), a task
"returns" and can sent a software button event to dequeue the previous
task on the stack that fires the processing. Or that can requeue an
action if the data is not finished.

For a kind of example, when drawing a line, you can just "point" a
vertex (corresponding ground coordinates will be computed from window
coordinates) or request to fasten on an element which means doing
supplementary processing. In this case, on the terminal, the elements
proposed for fastening are displayed and the user chooses. Only when the
element is chosen, a request back (a "store") is sent since the
representation of the elements is not homomorphe (i.e. due to scale, the
drawing of a n vertex element is not perhaps a n vertex line on screen,
so the mth vertex in the representation is generally not the mth vertex
in the antecedent).
The drawing task is dequeued and the processing fired. Only when, on the
processing unit, the new vertex is computed, a new task is queued to
continue drawing.

I may misunderstand the point both due to my lacks in english and to the
fact that I'm involved in my own implementation needs. But my software
system is so large and touches so many different types of data, and
needs to accomodate so many different types of UI, that I
don't understand how a, at least chunk by chunk, terminal problem can
not be terminal handled. At the moment, I have made improvements, and
modifications (mainly simplifications); there are times when one can not
avoid interrupting and sending to processing; but the principles hold.
--
Thierry Laronde (Alceste) <tlaronde +AT+ polynum +dot+ com>
                 http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C



  reply	other threads:[~2009-03-20 15:02 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-20  7:00 James Tomaschke
2009-03-20  7:07 ` lucio
2009-03-20  7:57   ` James Tomaschke
2009-03-20  9:12     ` erik quanstrom
2009-03-20 11:05       ` Charles Forsyth
2009-03-20 10:54         ` Francisco J Ballesteros
2009-03-20 11:07         ` cinap_lenrek
2009-03-20 11:28         ` roger peppe
2009-03-20 11:39           ` Fco. J. Ballesteros
2009-03-20 12:04             ` erik quanstrom
2009-03-20 11:32         ` erik quanstrom
2009-03-20 12:23           ` Charles Forsyth
2009-03-20 12:16             ` erik quanstrom
2009-03-20 13:03             ` roger peppe
2009-03-20 13:37               ` tlaronde
2009-03-20 14:26                 ` roger peppe
2009-03-20 15:02                   ` tlaronde [this message]
2009-03-20 15:14                     ` tlaronde
2009-03-20 12:52           ` maht
2009-03-20 22:23         ` James Tomaschke
2009-03-20  9:13     ` lucio
2009-03-20 14:18 Francisco J Ballesteros
2009-03-20 14:29 ` roger peppe
2009-03-20 14:22 Francisco J Ballesteros
2009-03-20 14:32 ` roger peppe
2009-03-20 15:17 ` lucio
2009-03-20 14:35 Francisco J Ballesteros
2009-03-20 14:46 Francisco J Ballesteros

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090320150200.GA2011@polynum.com \
    --to=tlaronde@polynum.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).