nanogui: Thread: Support for on-screen keyboard - SUMMARY


[<<] [<] Page 1 of 1 [>] [>>]
Subject: Support for on-screen keyboard - SUMMARY
From: Vidar Hokstad ####@####.####
Date: 16 May 1999 09:45:50 -0000
Message-Id: <Pine.LNX.4.10.9905161115500.2715-100000@a.ncg.net>

To summarize, here's an updated suggestion, based on Alex' suggestion,
with a few modifications by me, and a change prompted by Warners concerns:

  - We don't guarantee that on-screen keyboards will work properly with
     a mouse as a pointing device unless you use "click to focus".
     For a touchpad other focus mechanisms (including the present)
     should work just fine, since you typically would lift whatever
     it is you touch the screen with, and move it to the on-screen
     keyboard in one movement.
  
  - An on-screen keyboard "registers" itself with the NanoX server
    by calling a SendCopiesOfAllFocusEventsToMe() (preferrably with
    a shorter name :-) type function. This is done _instead_ of the
    on-screen keyboard itself requesting the ID of the last focused
    window, to ensure that the last focus id that the on-screen keyboard
    records before a button on it is pressed is always the last one to
    actually happen before the button press (removing a potential
    race situation, jfr. Warners mails).

    This require:
       * A small command to be added to the server to register the 
          on-screen keyboard client as receiver of server wide focus
          events.
       * A small change to the command that generate focus events to
          send a copy to any client registered to receive server
          wide events.

  - The on-screen keyboard then sits and waits for focus events, and
     as long as it is focus events for other windows than itself, it
     updates it's last-focused flag. Whenever it receive a button press
     over one of it's keys, it then calls a "SendKeyEvent()" type
     function, with the last-focused windowid, the key, and any modifiers
     as arguments.

     This require:
        * A command to be added to the server to send key events
           to the server, that will then resend the key event to
           the specified window.

Anyone that sees problems, or have suggestions for changes to this
modified suggestion?

If not, I'll go ahead and write a simple test implementation of it.

Regards,
Vidar

-- 
Vidar Hokstad ####@####.####
Director of R&D, Screen Media AS

Subject: Re: Support for on-screen keyboard - SUMMARY
From: Alex Holden ####@####.####
Date: 16 May 1999 09:58:17 -0000
Message-Id: <Pine.LNX.4.04.9905161045210.376-100000@hyperspace>

On Sun, 16 May 1999, Vidar Hokstad wrote:
>     This require:
>        * A small command to be added to the server to register the 
>           on-screen keyboard client as receiver of server wide focus
>           events.
>        * A small change to the command that generate focus events to
>           send a copy to any client registered to receive server
>           wide events.

We probably want something along this line for the window manager, so it
can alter the border appearance for the currently focussed window.

>   - The on-screen keyboard then sits and waits for focus events, and
>      as long as it is focus events for other windows than itself, it
>      updates it's last-focused flag. Whenever it receive a button press
>      over one of it's keys, it then calls a "SendKeyEvent()" type
>      function, with the last-focused windowid, the key, and any modifiers
>      as arguments.
> 
>      This require:
>         * A command to be added to the server to send key events
>            to the server, that will then resend the key event to
>            the specified window.
> 
> Anyone that sees problems, or have suggestions for changes to this
> modified suggestion?

Sounds okay, but I have to say I also quite like the idea now of having a
special value (which can never be a real window ID, like -1 or something)
for the SendKeyEvent() call which tells the server to send it to the last
focussed window.

--------------- Linux- the choice of a GNU generation. --------------
: Alex Holden (M1CJD)- Caver, Programmer, Land Rover nut, Radio Ham :
-------------------- http://www.linuxhacker.org/ --------------------

Subject: Re: Support for on-screen keyboard - SUMMARY
From: Vidar Hokstad ####@####.####
Date: 16 May 1999 12:11:56 -0000
Message-Id: <Pine.LNX.4.10.9905161358410.2715-100000@a.ncg.net>

On Sun, 16 May 1999, Alex Holden wrote:

> On Sun, 16 May 1999, Vidar Hokstad wrote:
> Sounds okay, but I have to say I also quite like the idea now of having a
> special value (which can never be a real window ID, like -1 or something)
> for the SendKeyEvent() call which tells the server to send it to the last
> focussed window.

But do we really want to have the server handle the window of the
on-screen keyboard as a special case. Remember that the on-screen keyboard
could very well have sub-windows etc., which would mean that  to be sure
that the server doesn't keep track of the _wrong_ windowid for focus,
it would have to know that it should ignore any focus changes caused by
pointer movements over the on screen keyboard.

It's a minor thing, but the focus notification mechanism would buy you
exactly the same functionality, would be reusable for window management,
and may also let the on-screen keyboard choose to ignore certain windows
if you wish, instead of adding even more stuff to the server.

Anyway, this isn't mutually exclusive, and since we can use the focus
notification anyway, I think I'll look into writing a test based on that
first, then it would be a minor issue to add a special ID to the
SendKeyEvent() function later if we need it.

Regards,
Vidar



Subject: Re: Support for on-screen keyboard - SUMMARY
From: Alex Holden ####@####.####
Date: 16 May 1999 12:43:09 -0000
Message-Id: <Pine.LNX.4.04.9905161332100.2028-100000@NanoDemo>

On Sun, 16 May 1999, Vidar Hokstad wrote:
> Anyway, this isn't mutually exclusive, and since we can use the focus
> notification anyway, I think I'll look into writing a test based on that
> first, then it would be a minor issue to add a special ID to the
> SendKeyEvent() function later if we need it.

I was just thinking that. Code it both ways, and keep the one which works
best...

--------------- Linux- the choice of a GNU generation. --------------
: Alex Holden (M1CJD)- Caver, Programmer, Land Rover nut, Radio Ham :
-------------------- http://www.linuxhacker.org/ --------------------

[<<] [<] Page 1 of 1 [>] [>>]


Powered by ezmlm-browse 0.20.