[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Denemo-devel] Re: Denemo-devel: Key bindings

From: Jean-René Reinhard
Subject: [Denemo-devel] Re: Denemo-devel: Key bindings
Date: Thu, 8 May 2008 15:50:45 +0200
User-agent: Mutt/1.5.13 (2006-08-11)

> > 
> > Furthermore, the manual page of denemo in the cvs also points to 
> > sourceforge...
> Can you give the URL? I an't see that. The Savannah site can be changed,
> and someone has already volunteered to do this.

full of references to sourceforge...

> > I made some research on gtk handling of key events. It seems that supporting
> > actions only through key accels is not a good idea, since some keybindings 
> > are
> > not valid accels (Right, Left, ... this can be checked by trying to set a 
> > key
> > binding to that value). I gathered from your last mail that the hold keymap 
> > was
> > due to be obsoleted. When commenting the callback out of
> > score_area_key_press_event, I effectively lose the ability to move through 
> > the
> yes - we will not eliminate scorearea_keypress_event(), just use it for
> looking up (standard and/or user-defined) aliases.

So it is planned to have a two level scheme, with accels and denemo keymaps.
Some questions :
- Which does kick in first?
- Do we want to get back the keys that gtk stoles for its own purpose? (tab is
  usually processed to travel walk across widgets, and this also seem to be the
  case for arrow keys.
- When redefining a keybinding, I assume it is already checked that is was not
  already assigned for the same keybinding type (accels and denemo alias). Can
  an alias mask an accel? or an accel mask an alias? More importantly what do we
  want the app to do (I will figure out eventually how it works currently)

> > score using Left, Right, ...
> > 
> > Is this a known fact? I would like to understand the plans on keybindings
> > stuff so as to modify it to better support non US keyboard.
> > 
> There are problems with some keypresses as accelerators, and problems
> with using the interface in Denemo for setting some (I think it is
> because it is a dialog and it has its own accelerators active).

Well, gtk_accelerator_valid tests if an accelerator is valid when you try to set
an accelerator. If not, the key binding is not set. It is what happens with the
arrows, and probably for other keys...

> These will be fixed with the proposed scheme which will allow aliases
> for the defined accelerators. At the moment in Denemo, although the
> standard.accels has the line
> (gtk_accel_path "<Actions>/MenuActions/CursorLeft" "Left")
> the accelerator does not kick in, and scorearea_keypress_event fires
> instead, which has the same effect. While this feature in gtk persists
> we will need to define an alias to achieve the same thing (which will no
> doubt leave some odd behaviour should someone try to define left arrow
> to do some other task).

Wouldn't an unified accel and alias management be more desirable?

> Thanks for your insights into this stuff - until you wrote I didn't
> realize that Left was not actually working as an accelerator, as it
> appears on the menu.
> Richard

Keybindings problems are rather cumbersome, since it is impossible to use the 
app with a french
keymap without redefining a lot of aliases to work around the current behaviour
: to enter note durations, figures are used (0, 1, 2, ...) and their processing
depends on your keymap. I think that currently, denemo is not usable on an
azerty keyboard for a newbie, unless she REALLY wants to use denemo over another
music editor.

Waiting for some feedback before diving more into the depth of denemo and gtk.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]