Opened 16 years ago
Closed 15 years ago
#4544 closed defect (fixed)
keybinding trouble on Mac
Reported by: | Owned by: | lasgouttes | |
---|---|---|---|
Priority: | high | Milestone: | 1.6.2 |
Component: | keyboard | Version: | 1.6.0svn |
Severity: | normal | Keywords: | regression |
Cc: | sts@… |
Description
In 1.5.x, I have "<Cmd><Shift>I m" bound to marginalnote-insert with no
problems. On 1.6svn, this is not working: "Unknown function" shows up in the
status bar when "<Cmd><Shift>I" is pressed, even before getting to the "m". (See
below for -dbg key output.) Strangely, both "<Cmd><Shift>I" on its own --
without "m" -- and "<Opt><Shift>I m" work properly.
GuiWorkArea.cpp(719): count: 1 text: isAutoRepeat: 0 key: 16777248
GuiKeySymbol.cpp(78): Getting key 16777248, with text
GuiKeySymbol.cpp(84): Setting key to 16777248,
LyXFunc.cpp(288): KeySym is Shift_L
GuiKeySymbol.cpp(99): isOK is 1
GuiKeySymbol.cpp(107): isModifier is 1
LyXFunc.cpp(298): isModifier true
GuiWorkArea.cpp(719): count: 1 text: isAutoRepeat: 0 key: 16777249
GuiKeySymbol.cpp(78): Getting key 16777249, with text
GuiKeySymbol.cpp(84): Setting key to 16777249,
LyXFunc.cpp(288): KeySym is Control_L
GuiKeySymbol.cpp(99): isOK is 1
GuiKeySymbol.cpp(107): isModifier is 1
LyXFunc.cpp(298): isModifier true
GuiWorkArea.cpp(719): count: 1 text: isAutoRepeat: 0 key: 73
GuiKeySymbol.cpp(73): keyevent has isNull() text !
LyXFunc.cpp(288): KeySym is i
GuiKeySymbol.cpp(99): isOK is 1
GuiKeySymbol.cpp(107): isModifier is 0
LyXFunc.cpp(314): action first set to [-1]
LyXFunc.cpp(322): action now set to [-1]
LyXFunc.cpp(333): Key [action=-1][Ctrl+Shift+I]
GuiKeySymbol.cpp(165): text_ empty, isText() == false
LyXFunc.cpp(360): Unknown, !isText() - giving up
Attachments (2)
Change History (15)
comment:1 by , 16 years ago
Keywords: | regression added |
---|
comment:2 by , 16 years ago
comment:3 by , 16 years ago
Milestone: | → 1.6.0 |
---|
since we have a patch, this could be considered for 1.6.0.
comment:5 by , 16 years ago
I have the patch applied and have been using it for months without problem.
Is this a Mac specific bug?
comment:6 by , 16 years ago
I don't know. Please send it to lyx-devel. Hopefully someone will take care of it.
comment:7 by , 16 years ago
Cc: | added |
---|
Stefan, while you are at fixing MAC-specific bugs, perhaps you also have one for
this.
comment:8 by , 15 years ago
Milestone: | 1.6.0 → 1.6.1 |
---|
comment:9 by , 15 years ago
Keywords: | patch added |
---|
comment:10 by , 15 years ago
IIRC previous discussion, isn't the reason why keybindings do NOT get
overwritten anymore that a single keybinding can now have multiple functions
(depending on context). I think this was introduced in the context of Tab-Key
issues, and that is also why there is an '\unbind' now.
This should be the same on all platforms, no?
comment:11 by , 15 years ago
Milestone: | 1.6.1 → 1.6.2 |
---|
comment:12 by , 15 years ago
Keywords: | fixedinbranch fixedintrunk added; patch removed |
---|
The patch looks straightforward, and since Bennett has tested it for a long time
now, I committed to branch and trunk:
http://www.lyx.org/trac/changeset/27948
http://www.lyx.org/trac/changeset/27949
comment:13 by , 15 years ago
Keywords: | fixedinbranch fixedintrunk removed |
---|---|
Resolution: | → fixed |
Status: | new → closed |
LyX 1.6.2 is released (announcement follows as soon as the binaries are built).
I think I've discovered the problem here. In mac.bind, we have:
\bind "C-S-i" "info-insert"
(I'm not sure what this is used for or why it should be added to mac.bind. Nevertheless....)
When editing shortcuts with the new preferences dialog, I removed this binding and then added "C-S-I m"
as a new binding for marginalnote-insert. What gets written to user.bind is a line for marginalnote-insert
*followed by* a line to unbind info-insert. When LyX reads user.bind in order, it ignores the new binding
for marginalnote-insert, because that's an existing binding, and only later reads the line unbinding info-
insert.
If I manually edit user.bind to move the \unbind "C-S-i" "info-insert" line to the top, everything works
fine.
Two conclusions:
users when their old .bind files don't do what they expect, and perhaps the change ought to be rethought.
shortcut preferences.