\bind "greater" "self-insert"
\bind "question" "self-insert"
\bind "at" "self-insert"
-\bind "~S-A" "self-insert"
-\bind "~S-B" "self-insert"
-\bind "~S-C" "self-insert"
-\bind "~S-D" "self-insert"
-\bind "~S-E" "self-insert"
-\bind "~S-F" "self-insert"
-\bind "~S-G" "self-insert"
-\bind "~S-H" "self-insert"
-\bind "~S-I" "self-insert"
-\bind "~S-J" "self-insert"
-\bind "~S-K" "self-insert"
-\bind "~S-L" "self-insert"
-\bind "~S-M" "self-insert"
-\bind "~S-N" "self-insert"
-\bind "~S-O" "self-insert"
-\bind "~S-P" "self-insert"
-\bind "~S-Q" "self-insert"
-\bind "~S-R" "self-insert"
-\bind "~S-S" "self-insert"
-\bind "~S-T" "self-insert"
-\bind "~S-U" "self-insert"
-\bind "~S-V" "self-insert"
-\bind "~S-W" "self-insert"
-\bind "~S-X" "self-insert"
-\bind "~S-Y" "self-insert"
-\bind "~S-Z" "self-insert"
+\bind "A" "self-insert"
+\bind "B" "self-insert"
+\bind "C" "self-insert"
+\bind "D" "self-insert"
+\bind "E" "self-insert"
+\bind "F" "self-insert"
+\bind "G" "self-insert"
+\bind "H" "self-insert"
+\bind "I" "self-insert"
+\bind "J" "self-insert"
+\bind "K" "self-insert"
+\bind "L" "self-insert"
+\bind "M" "self-insert"
+\bind "N" "self-insert"
+\bind "O" "self-insert"
+\bind "P" "self-insert"
+\bind "Q" "self-insert"
+\bind "R" "self-insert"
+\bind "S" "self-insert"
+\bind "T" "self-insert"
+\bind "U" "self-insert"
+\bind "V" "self-insert"
+\bind "W" "self-insert"
+\bind "X" "self-insert"
+\bind "Y" "self-insert"
+\bind "Z" "self-insert"
\bind "bracketleft" "self-insert"
\bind "backslash" "self-insert"
\bind "bracketright" "self-insert"
\bind "onehalf" "self-insert"
\bind "threequarters" "self-insert"
\bind "questiondown" "self-insert"
-\bind "~S-Agrave" "accent-grave A"
-\bind "~S-Aacute" "accent-acute A"
-\bind "~S-Acircumflex" "accent-circumflex A"
-\bind "~S-Atilde" "accent-tilde A"
-\bind "~S-Adiaeresis" "accent-umlaut A"
-\bind "~S-Aring" "accent-circle A"
-\bind "~S-AE" "self-insert"
-\bind "~S-Ccedilla" "accent-cedilla C"
-\bind "~S-Egrave" "accent-grave E"
-\bind "~S-Eacute" "accent-acute E"
-\bind "~S-Ecircumflex" "accent-circumflex E"
-\bind "~S-Ediaeresis" "accent-umlaut E"
-\bind "~S-Igrave" "accent-grave I"
-\bind "~S-Iacute" "accent-acute I"
-\bind "~S-Icircumflex" "accent-circumflex I"
-\bind "~S-Idiaeresis" "accent-umlaut I"
+\bind "Agrave" "accent-grave A"
+\bind "Aacute" "accent-acute A"
+\bind "Acircumflex" "accent-circumflex A"
+\bind "Atilde" "accent-tilde A"
+\bind "Adiaeresis" "accent-umlaut A"
+\bind "Aring" "accent-circle A"
+\bind "AE" "self-insert"
+\bind "Ccedilla" "accent-cedilla C"
+\bind "Egrave" "accent-grave E"
+\bind "Eacute" "accent-acute E"
+\bind "Ecircumflex" "accent-circumflex E"
+\bind "Ediaeresis" "accent-umlaut E"
+\bind "Igrave" "accent-grave I"
+\bind "Iacute" "accent-acute I"
+\bind "Icircumflex" "accent-circumflex I"
+\bind "Idiaeresis" "accent-umlaut I"
\bind "ETH" "self-insert"
\bind "Eth" "self-insert"
-\bind "~S-Ntilde" "accent-tilde N"
-\bind "~S-Ograve" "accent-grave O"
-\bind "~S-Oacute" "accent-acute O"
-\bind "~S-Ocircumflex" "accent-circumflex O"
-\bind "~S-Otilde" "accent-tilde O"
-\bind "~S-Odiaeresis" "accent-umlaut O"
+\bind "Ntilde" "accent-tilde N"
+\bind "Ograve" "accent-grave O"
+\bind "Oacute" "accent-acute O"
+\bind "Ocircumflex" "accent-circumflex O"
+\bind "Otilde" "accent-tilde O"
+\bind "Odiaeresis" "accent-umlaut O"
\bind "multiply" "self-insert"
\bind "Ooblique" "self-insert"
\bind "Oslash" "self-insert"
-\bind "~S-Ugrave" "accent-grave U"
-\bind "~S-Uacute" "accent-acute U"
-\bind "~S-Ucircumflex" "accent-circumflex U"
-\bind "~S-Udiaeresis" "accent-umlaut U"
-\bind "~S-Yacute" "accent-acute Y"
+\bind "Ugrave" "accent-grave U"
+\bind "Uacute" "accent-acute U"
+\bind "Ucircumflex" "accent-circumflex U"
+\bind "Udiaeresis" "accent-umlaut U"
+\bind "Yacute" "accent-acute Y"
\bind "THORN" "self-insert"
\bind "Thorn" "self-insert"
\bind "ssharp" "self-insert"
\bind "OE" "self-insert"
\bind "oe" "self-insert"
-\bind "~S-Ydiaeresis" "accent-umlaut Y"
+\bind "Ydiaeresis" "accent-umlaut Y"
}
-int LyXFunc::processKeySym(KeySym keysym, unsigned int state)
+void LyXFunc::processKeySym(KeySym keysym, unsigned int state)
{
string argument;
if (lyxerr.debugging(Debug::KEY)) {
- char * tmp = XKeysymToString(keysym);
+ char const * tmp = XKeysymToString(keysym);
string const stm = (tmp ? tmp : "");
lyxerr << "KeySym is "
<< stm
lyxerr[Debug::KEY] << "Empty kbd action (probably composing)"
<< endl;
//return 0;
- return FL_PREEMPT;
+ //return FL_PREEMPT;
+ return;
}
if (owner->view()->available()) {
true);
}
//return 0;
- return FL_PREEMPT;
+ //return FL_PREEMPT;
+ return;
}
}
// This code snippet makes lyx ignore some keys. Perhaps
// all of them should be explictly mentioned?
if ((keysym >= XK_Shift_L && keysym <= XK_Hyper_R)
- || keysym == XK_Mode_switch || keysym == 0x0)
- return 0;
-
+ || keysym == XK_Mode_switch || keysym == 0x0) {
+ //return 0;
+ return;
+ }
+
// Do a one-deep top-level lookup for
// cancel and meta-fake keys. RVDK_PATCH_5
cancel_meta_seq.reset();
return 0;
}
#else
- owner->message(_("Unknown function."));
- return 0;
+ // It is unknown, but what if we remove all
+ // the modifiers? (Lgb)
+ action = keyseq.addkey(keysym, 0);
+
+ // We keep the shift state, but remove the others.
+ // This is for the sake of the LFUN_SELFINSERT below.
+ state &= ShiftMask;
+
+ if (lyxerr.debugging(Debug::KEY)) {
+ lyxerr << "Removing modifiers...\n"
+ << "Action now set to ["
+ << action << "]" << endl;
+ }
+ if (action == -1) {
+ owner->message(_("Unknown function."));
+ //return 0;
+ return;
+ }
#endif
- } else if (action == LFUN_SELFINSERT) {
+ }
+
+ if (action == LFUN_SELFINSERT) {
// We must set the argument to the char looked up by
// XKeysymToString
XKeyEvent xke;
if (res > 0)
argument = string(ret, res);
+
lyxerr[Debug::KEY] << "SelfInsert arg["
<< argument << "]" << endl;
}
Dispatch(action, argument);
show_sc = tmp_sc;
- return 0;
+ //return 0;
}