qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Kevin Wolf <kwolf@redhat.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	qemu-devel@nongnu.org, Alex Graf <agraf@suse.de>
Subject: Re: [Qemu-devel] [PATCH 0/6] Add GTK UI to enable basic accessibility
Date: Mon, 20 Feb 2012 08:08:18 -0600	[thread overview]
Message-ID: <4F4253D2.9000807@codemonkey.ws> (raw)
In-Reply-To: <4F4240F3.8070904@redhat.com>

On 02/20/2012 06:47 AM, Kevin Wolf wrote:
> Am 20.02.2012 13:17, schrieb Kevin Wolf:
>> Am 20.02.2012 00:44, schrieb Anthony Liguori:
>>> Hi,
>>>
>>> I realize UIs are the third rail of QEMU development, but over the years I've
>>> gotten a lot of feedback from users about our UI.  I think everyone struggles
>>> with the SDL interface and its lack of discoverability but it's worse than I
>>> think most people realize for users that rely on accessibility tools.
>>>
>>> The two pieces of feedback I've gotten the most re: accessibility are the lack
>>> of QEMU's enablement for screen readers and the lack of configurable
>>> accelerators.
>>>
>>> Since we render our own terminal using a fixed sized font, we don't respect
>>> system font settings which means we ignore if the user has configured large
>>> print.
>>>
>>> We also don't integrate at all with screen readers which means that for blind
>>> users, the virtual consoles may as well not even exist.
>>>
>>> We also don't allow any type of configuration of accelerators.  For users with
>>> limited dexterity (this is actually more common than you would think), they may
>>> use an input device that only inputs one key at a time.  Holding down two keys
>>> at once is not possible for these users.
>>>
>>> These are solved problems though and while we could reinvent all of this
>>> ourselves with SDL, we would be crazy if we did.  Modern toolkits, like GTK,
>>> solve these problems.
>>>
>>> By using GTK, we can leverage VteTerminal for screen reader integration and font
>>> configuration.  We can also use GTK's accelerator support to make accelerators
>>> configurable (Gnome provides a global accelerator configuration interface).
>>>
>>> I'm not attempting to make a pretty desktop virtualization UI.  Maybe we'll go
>>> there eventually but that's not what this series is about.
>>>
>>> This is just attempting to use a richer toolkit such that we can enable basic
>>> accessibility support.  As a consequence, the UI is much more usable even for a
>>> user without accessibility requirements so it's a win-win.
>>
>> It's not quite obvious what the build dependencies are. In my case I had
>> to install vte-devel. Especially if we're going to make it the default,
>> I think configure should print a helpful warning. (In fact, SDL has the
>> same problem and I have answered too many questions of users that
>> wondered why no window appeared, not understanding that they built only
>> VNC).
>>
>> I think the series is a good start, just some random thoughts and things
>> that I noticed:
>>
>> * git complains about some trailing whitespace
>>
>> * Half of the menu entries appears to be translated by the libraries
>>    used. Give me something that is all German or something that is all
>>    English. Mixed languages looks unprofessional.
>>
>> * Ctrl-Alt-= as shortcut for Zoom In isn't easy to remember and only
>>    makes some sense on a US keyboard layout.
>>
>> * The monitor display size always has the same size as the VGA tab now.
>>    That can be quite small in text mode and you can't resize any more.
>>
>> * The window has a button for maximising, but it doesn't really do
>>    anything.
>>
>> * Ctrl-PgDn/PgUp does change the tab as I expected on VGA, it's ignored
>>    by the monitor and the serial0 tabs. parallel0 segfaults on any key
>>    press.
>>
>> * When the tab bar is enables, the cursor up key in the VGA tab selects
>>    the tab bar. It also is sent to the guest the first time, but when
>>    the tab bar is selected, the guest doesn't get any input any more.
>>    Makes it rather hard to use the shell history in the guest.
>
> There's more fun...
>
> * The F10 key activates the menu instead of being passed to the guest.
>    Just like cursor up even when the keyboard is grabbed. Makes sendkey
>    close to the primary interface for keyboard. :-(

Yes, this is all because of return TRUE on keyboard handling.

> * On one start something went wrong, apparently with the zoom (at least
>    I saw for a moment how half a letter was rendered over the whole
>    screen). Hung my machine until the OOM killer came to the rescue...

Interesting, will look into this.

Regards,

Anthony Liguori

> Kevin
>

  reply	other threads:[~2012-02-20 14:08 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-19 23:44 [Qemu-devel] [PATCH 0/6] Add GTK UI to enable basic accessibility Anthony Liguori
2012-02-19 23:44 ` [Qemu-devel] [PATCH 1/6] console: allow VCs to be overridden by UI Anthony Liguori
2012-02-20  9:17   ` Gerd Hoffmann
2012-02-20 13:45     ` Anthony Liguori
2012-02-20 13:59       ` Gerd Hoffmann
2012-02-20 14:11         ` Anthony Liguori
2012-02-20 14:27           ` Gerd Hoffmann
2012-02-20 15:10             ` Anthony Liguori
2012-02-19 23:45 ` [Qemu-devel] [PATCH 2/6] ui: add basic GTK gui Anthony Liguori
2012-02-20 20:45   ` Stefan Weil
2012-02-21  0:20     ` Anthony Liguori
2012-02-19 23:45 ` [Qemu-devel] [PATCH 3/6] gtk: add virtual console support Anthony Liguori
2012-02-20 21:13   ` Stefan Weil
2012-02-25 16:21   ` Stefan Weil
2012-02-25 19:49     ` Anthony Liguori
2012-02-25 20:22       ` Stefan Weil
2012-02-25 21:18         ` Anthony Liguori
2012-02-19 23:45 ` [Qemu-devel] [PATCH 4/6] gtk: add support for input grabbing Anthony Liguori
2012-02-20  0:09   ` Anthony Liguori
2012-02-19 23:45 ` [Qemu-devel] [PATCH 5/6] gtk: add support for screen scaling and full screen Anthony Liguori
2012-02-20  7:41   ` Paolo Bonzini
2012-02-20 13:45     ` Anthony Liguori
2012-02-25 15:49   ` Stefan Weil
2012-02-19 23:45 ` [Qemu-devel] [PATCH 6/6] gtk: make default UI Anthony Liguori
2012-02-20  0:15   ` Roy Tam
2012-02-20  1:10     ` Anthony Liguori
2012-02-20  1:50       ` Roy Tam
2012-02-20  2:22         ` Anthony Liguori
2012-02-20  2:24       ` Brad Smith
2012-02-20  2:44         ` Anthony Liguori
2012-02-20  2:50           ` Roy Tam
2012-02-20  2:52           ` Brad Smith
2012-02-20  3:04             ` Anthony Liguori
2012-02-20 14:06               ` Stefano Stabellini
2012-02-20 14:07                 ` Anthony Liguori
2012-02-20 14:44                   ` Stefano Stabellini
2012-02-20 14:46                     ` Roy Tam
2012-02-19 23:59 ` [Qemu-devel] [PATCH 0/6] Add GTK UI to enable basic accessibility Anthony Liguori
2012-02-20 12:17 ` Kevin Wolf
2012-02-20 12:47   ` Kevin Wolf
2012-02-20 14:08     ` Anthony Liguori [this message]
2012-02-20 14:04   ` Anthony Liguori
2012-02-20 14:33     ` Kevin Wolf
2012-02-25 17:02 ` Stefan Weil
2012-02-25 20:11   ` Anthony Liguori
2012-02-25 21:15     ` Stefan Weil
2012-02-25 21:47       ` [Qemu-devel] Very small VGA window sizes (was: Re: [PATCH 0/6] Add GTK UI to enable basic accessibility) Stefan Weil

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=4F4253D2.9000807@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=agraf@suse.de \
    --cc=aliguori@us.ibm.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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).