SOURCES: kdebase-konsole-keymap.patch (NEW) - fedora keymap and kb...
baggins
baggins at pld-linux.org
Mon Jul 4 14:01:30 CEST 2005
Author: baggins Date: Mon Jul 4 12:01:30 2005 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- fedora keymap and kbs/erase hacks
- I want to hear from KDE guys what you think about it and if it can be merged in PLD
---- Files affected:
SOURCES:
kdebase-konsole-keymap.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/kdebase-konsole-keymap.patch
diff -u /dev/null SOURCES/kdebase-konsole-keymap.patch:1.1
--- /dev/null Mon Jul 4 14:01:30 2005
+++ SOURCES/kdebase-konsole-keymap.patch Mon Jul 4 14:01:25 2005
@@ -0,0 +1,440 @@
+--- kdebase-3.4.0/konsole/other/README.default.Keytab.konsole 2004-11-26 11:59:38.000000000 +0100
++++ kdebase-3.4.0/konsole/other/README.default.Keytab 2005-04-18 09:28:15.000000000 +0200
+@@ -46,6 +46,8 @@
+ key Backspace : "\x7f"
+
+ # Arrow keys in VT52 mode
++# shift up/down are reserved for scrolling.
++# shift left/right are reserved for switching between tabs (this is hardcoded).
+
+ key Up -Shift-Ansi : "\EA"
+ key Down -Shift-Ansi : "\EB"
+@@ -54,74 +56,69 @@
+
+ # Arrow keys in ANSI mode with Application - and Normal Cursor Mode)
+
+-key Up -Shift+Ansi+AppCuKeys : "\EOA"
+-key Down -Shift+Ansi+AppCuKeys : "\EOB"
+-key Right-Shift+Ansi+AppCuKeys : "\EOC"
+-key Left -Shift+Ansi+AppCuKeys : "\EOD"
+-
+-key Up -Shift+Ansi-AppCuKeys : "\E[A"
+-key Down -Shift+Ansi-AppCuKeys : "\E[B"
+-key Right-Shift+Ansi-AppCuKeys : "\E[C"
+-key Left -Shift+Ansi-AppCuKeys : "\E[D"
+-
+-key Up +Shift+AppScreen : "\E[a"
+-key Down +Shift+AppScreen : "\E[b"
+-key Right+Shift+AppScreen : "\E[c"
+-key Left +Shift+AppScreen : "\E[d"
++key Up -Shift-AnyMod+Ansi+AppCuKeys : "\EOA"
++key Down -Shift-AnyMod+Ansi+AppCuKeys : "\EOB"
++key Right -Shift-AnyMod+Ansi+AppCuKeys : "\EOC"
++key Left -Shift-AnyMod+Ansi+AppCuKeys : "\EOD"
++
++key Up -Shift-AnyMod+Ansi-AppCuKeys : "\E[A"
++key Down -Shift-AnyMod+Ansi-AppCuKeys : "\E[B"
++key Right -Shift-AnyMod+Ansi-AppCuKeys : "\E[C"
++key Left -Shift-AnyMod+Ansi-AppCuKeys : "\E[D"
++
++key Up -Shift+AnyMod+Ansi : "\E[1;*A"
++key Down -Shift+AnyMod+Ansi : "\E[1;*B"
++key Right -Shift+AnyMod+Ansi : "\E[1;*C"
++key Left -Shift+AnyMod+Ansi : "\E[1;*D"
+
+ # other grey PC keys
+
+ key Enter+NewLine : "\r\n"
+ key Enter-NewLine : "\r"
+
+-key Home -Shift-AppCuKeys : "\E[H"
+-key End -Shift-AppCuKeys : "\E[F"
+-key Home +Shift-AppCuKeys : "\E[2H"
+-key End +Shift-AppCuKeys : "\E[2F"
+-
+-key Home -Shift+AppCuKeys : "\EOH"
+-key End -Shift+AppCuKeys : "\EOF"
+-key Home +Shift+AppCuKeys : "\EO2H"
+-key End +Shift+AppCuKeys : "\EO2F"
+-
+-key Insert-Shift : "\E[2~"
+-key Delete-Shift : "\E[3~"
+-key Prior -Shift : "\E[5~"
+-key Next -Shift : "\E[6~"
+-
+-key Insert+Shift : "\E[2;2~"
+-key Delete+Shift : "\E[3;2~"
+-key Prior +Shift+AppScreen : "\E[5;2"
+-key Next +Shift+AppScreen : "\E[6;2"
+-
+-
+-# Function keys w/o Shift modifier
+-
+-key F1 -Shift : "\EOP"
+-key F2 -Shift : "\EOQ"
+-key F3 -Shift : "\EOR"
+-key F4 -Shift : "\EOS"
+-key F5 -Shift : "\E[15~"
+-key F6 -Shift : "\E[17~"
+-key F7 -Shift : "\E[18~"
+-key F8 -Shift : "\E[19~"
+-key F9 -Shift : "\E[20~"
+-key F10 -Shift : "\E[21~"
+-key F11 -Shift : "\E[23~"
+-key F12 -Shift : "\E[24~"
+-
+-key F1 +Shift : "\EO2P"
+-key F2 +Shift : "\EO2Q"
+-key F3 +Shift : "\EO2R"
+-key F4 +Shift : "\EO2S"
+-key F5 +Shift : "\E[15;2~"
+-key F6 +Shift : "\E[17;2~"
+-key F7 +Shift : "\E[18;2~"
+-key F8 +Shift : "\E[19;2~"
+-key F9 +Shift : "\E[20;2~"
+-key F10+Shift : "\E[21;2~"
+-key F11+Shift : "\E[23;2~"
+-key F12+Shift : "\E[24;2~"
++key Home -AnyMod -AppCuKeys : "\E[H"
++key End -AnyMod -AppCuKeys : "\E[F"
++key Home -AnyMod +AppCuKeys : "\EOH"
++key End -AnyMod +AppCuKeys : "\EOF"
++key Home +AnyMod : "\E[1;*H"
++key End +AnyMod : "\E[1;*F"
++
++key Insert -AnyMod : "\E[2~"
++key Delete -AnyMod : "\E[3~"
++key Insert +AnyMod : "\E[2;*~"
++key Delete +AnyMod : "\E[3;*~"
++
++key Prior -Shift-AnyMod : "\E[5~"
++key Next -Shift-AnyMod : "\E[6~"
++key Prior -Shift+AnyMod : "\E[5;*~"
++key Next -Shift+AnyMod : "\E[6;*~"
++
++# Function keys
++key F1 -AnyMod : "\EOP"
++key F2 -AnyMod : "\EOQ"
++key F3 -AnyMod : "\EOR"
++key F4 -AnyMod : "\EOS"
++key F5 -AnyMod : "\E[15~"
++key F6 -AnyMod : "\E[17~"
++key F7 -AnyMod : "\E[18~"
++key F8 -AnyMod : "\E[19~"
++key F9 -AnyMod : "\E[20~"
++key F10 -AnyMod : "\E[21~"
++key F11 -AnyMod : "\E[23~"
++key F12 -AnyMod : "\E[24~"
++
++key F1 +AnyMod : "\EO*P"
++key F2 +AnyMod : "\EO*Q"
++key F3 +AnyMod : "\EO*R"
++key F4 +AnyMod : "\EO*S"
++key F5 +AnyMod : "\E[15;*~"
++key F6 +AnyMod : "\E[17;*~"
++key F7 +AnyMod : "\E[18;*~"
++key F8 +AnyMod : "\E[19;*~"
++key F9 +AnyMod : "\E[20;*~"
++key F10 +AnyMod : "\E[21;*~"
++key F11 +AnyMod : "\E[23;*~"
++key F12 +AnyMod : "\E[24;*~"
+
+ # Work around dead keys
+
+--- kdebase-3.4.0/konsole/konsole/TEmuVt102.cpp.konsole 2005-04-18 09:28:15.000000000 +0200
++++ kdebase-3.4.0/konsole/konsole/TEmuVt102.cpp 2005-04-18 09:28:15.000000000 +0200
+@@ -1194,6 +1194,20 @@
+ }
+ }
+
++char TEmuVt102::getErase()
++{
++ int cmd = CMD_none;
++ const char* txt;
++ int len;
++ bool metaspecified;
++
++ if (keytrans->findEntry(Qt::Key_Backspace, 0, &cmd, &txt, &len,
++ &metaspecified) && (cmd==CMD_send) && (len == 1))
++ return txt[0];
++
++ return '\b';
++}
++
+ /* ------------------------------------------------------------------------- */
+ /* */
+ /* Diagnostic */
+--- kdebase-3.4.0/konsole/konsole/TEmulation.cpp.konsole 2005-01-23 18:30:46.000000000 +0100
++++ kdebase-3.4.0/konsole/konsole/TEmulation.cpp 2005-04-18 09:28:15.000000000 +0200
+@@ -480,6 +480,11 @@
+ }
+ }
+
++char TEmulation::getErase()
++{
++ return '\b';
++}
++
+ void TEmulation::setListenToKeyPress(bool l)
+ {
+ listenToKeyPress=l;
+--- kdebase-3.4.0/konsole/konsole/default.keytab.h.konsole 2004-11-26 11:59:38.000000000 +0100
++++ kdebase-3.4.0/konsole/konsole/default.keytab.h 2005-04-18 09:31:38.000000000 +0200
+@@ -15,60 +15,58 @@
+ "key Down -Shift-Ansi : \"\\EB\"\n"
+ "key Right-Shift-Ansi : \"\\EC\"\n"
+ "key Left -Shift-Ansi : \"\\ED\"\n"
+- "key Up -Shift+Ansi+AppCuKeys : \"\\EOA\"\n"
+- "key Down -Shift+Ansi+AppCuKeys : \"\\EOB\"\n"
+- "key Right-Shift+Ansi+AppCuKeys : \"\\EOC\"\n"
+- "key Left -Shift+Ansi+AppCuKeys : \"\\EOD\"\n"
+- "key Up -Shift+Ansi-AppCuKeys : \"\\E[A\"\n"
+- "key Down -Shift+Ansi-AppCuKeys : \"\\E[B\"\n"
+- "key Right-Shift+Ansi-AppCuKeys : \"\\E[C\"\n"
+- "key Left -Shift+Ansi-AppCuKeys : \"\\E[D\"\n"
+- "key Up +Shift+AppScreen : \"\\E[a\"\n"
+- "key Down +Shift+AppScreen : \"\\E[b\"\n"
+- "key Right+Shift+AppScreen : \"\\E[c\"\n"
+- "key Left +Shift+AppScreen : \"\\E[d\"\n"
++ "key Up -Shift-AnyMod+Ansi+AppCuKeys : \"\\EOA\"\n"
++ "key Down -Shift-AnyMod+Ansi+AppCuKeys : \"\\EOB\"\n"
++ "key Right -Shift-AnyMod+Ansi+AppCuKeys : \"\\EOC\"\n"
++ "key Left -Shift-AnyMod+Ansi+AppCuKeys : \"\\EOD\"\n"
++ "key Up -Shift-AnyMod+Ansi-AppCuKeys : \"\\E[A\"\n"
++ "key Down -Shift-AnyMod+Ansi-AppCuKeys : \"\\E[B\"\n"
++ "key Right -Shift-AnyMod+Ansi-AppCuKeys : \"\\E[C\"\n"
++ "key Left -Shift-AnyMod+Ansi-AppCuKeys : \"\\E[D\"\n"
++ "key Up -Shift+AnyMod+Ansi : \"\\E[1;*A\"\n"
++ "key Down -Shift+AnyMod+Ansi : \"\\E[1;*B\"\n"
++ "key Right -Shift+AnyMod+Ansi : \"\\E[1;*C\"\n"
++ "key Left -Shift+AnyMod+Ansi : \"\\E[1;*D\"\n"
+ "key Enter+NewLine : \"\\r\\n\"\n"
+ "key Enter-NewLine : \"\\r\"\n"
+- "key Home -Shift-AppCuKeys : \"\\E[H\" \n"
+- "key End -Shift-AppCuKeys : \"\\E[F\" \n"
+- "key Home +Shift-AppCuKeys : \"\\E[2H\" \n"
+- "key End +Shift-AppCuKeys : \"\\E[2F\" \n"
+- "key Home -Shift+AppCuKeys : \"\\EOH\" \n"
+- "key End -Shift+AppCuKeys : \"\\EOF\" \n"
+- "key Home +Shift+AppCuKeys : \"\\EO2H\" \n"
+- "key End +Shift+AppCuKeys : \"\\EO2F\" \n"
+- "key Insert-Shift : \"\\E[2~\" \n"
+- "key Delete-Shift : \"\\E[3~\" \n"
+- "key Prior -Shift : \"\\E[5~\" \n"
+- "key Next -Shift : \"\\E[6~\" \n"
+- "key Insert+Shift : \"\\E[2;2~\" \n"
+- "key Delete+Shift : \"\\E[3;2~\" \n"
+- "key Prior +Shift+AppScreen : \"\\E[5;2\"\n"
+- "key Next +Shift+AppScreen : \"\\E[6;2\"\n"
+- "key F1 -Shift : \"\\EOP\"\n"
+- "key F2 -Shift : \"\\EOQ\"\n"
+- "key F3 -Shift : \"\\EOR\"\n"
+- "key F4 -Shift : \"\\EOS\"\n"
+- "key F5 -Shift : \"\\E[15~\"\n"
+- "key F6 -Shift : \"\\E[17~\"\n"
+- "key F7 -Shift : \"\\E[18~\"\n"
+- "key F8 -Shift : \"\\E[19~\"\n"
+- "key F9 -Shift : \"\\E[20~\"\n"
+- "key F10 -Shift : \"\\E[21~\"\n"
+- "key F11 -Shift : \"\\E[23~\"\n"
+- "key F12 -Shift : \"\\E[24~\"\n"
+- "key F1 +Shift : \"\\EO2P\"\n"
+- "key F2 +Shift : \"\\EO2Q\"\n"
+- "key F3 +Shift : \"\\EO2R\"\n"
+- "key F4 +Shift : \"\\EO2S\"\n"
+- "key F5 +Shift : \"\\E[15;2~\"\n"
+- "key F6 +Shift : \"\\E[17;2~\"\n"
+- "key F7 +Shift : \"\\E[18;2~\"\n"
+- "key F8 +Shift : \"\\E[19;2~\"\n"
+- "key F9 +Shift : \"\\E[20;2~\"\n"
+- "key F10+Shift : \"\\E[21;2~\"\n"
+- "key F11+Shift : \"\\E[23;2~\"\n"
+- "key F12+Shift : \"\\E[24;2~\"\n"
++ "key Home -AnyMod -AppCuKeys : \"\\E[H\" \n"
++ "key End -AnyMod -AppCuKeys : \"\\E[F\" \n"
++ "key Home -AnyMod +AppCuKeys : \"\\EOH\" \n"
++ "key End -AnyMod +AppCuKeys : \"\\EOF\" \n"
++ "key Home +AnyMod : \"\\E[1;*H\"\n"
++ "key End +AnyMod : \"\\E[1;*F\"\n"
++ "key Insert -AnyMod : \"\\E[2~\"\n"
++ "key Delete -AnyMod : \"\\E[3~\"\n"
++ "key Insert +AnyMod : \"\\E[2;*~\"\n"
++ "key Delete +AnyMod : \"\\E[3;*~\"\n"
++ "key Prior -Shift-AnyMod : \"\\E[5~\"\n"
++ "key Next -Shift-AnyMod : \"\\E[6~\"\n"
++ "key Prior -Shift+AnyMod : \"\\E[5;*~\"\n"
++ "key Next -Shift+AnyMod : \"\\E[6;*~\"\n"
++ "key F1 -AnyMod : \"\\EOP\"\n"
++ "key F2 -AnyMod : \"\\EOQ\"\n"
++ "key F3 -AnyMod : \"\\EOR\"\n"
++ "key F4 -AnyMod : \"\\EOS\"\n"
++ "key F5 -AnyMod : \"\\E[15~\"\n"
++ "key F6 -AnyMod : \"\\E[17~\"\n"
++ "key F7 -AnyMod : \"\\E[18~\"\n"
++ "key F8 -AnyMod : \"\\E[19~\"\n"
++ "key F9 -AnyMod : \"\\E[20~\"\n"
++ "key F10 -AnyMod : \"\\E[21~\"\n"
++ "key F11 -AnyMod : \"\\E[23~\"\n"
++ "key F12 -AnyMod : \"\\E[24~\"\n"
++ "key F1 +AnyMod : \"\\EO*P\"\n"
++ "key F2 +AnyMod : \"\\EO*Q\"\n"
++ "key F3 +AnyMod : \"\\EO*R\"\n"
++ "key F4 +AnyMod : \"\\EO*S\"\n"
++ "key F5 +AnyMod : \"\\E[15;*~\"\n"
++ "key F6 +AnyMod : \"\\E[17;*~\"\n"
++ "key F7 +AnyMod : \"\\E[18;*~\"\n"
++ "key F8 +AnyMod : \"\\E[19;*~\"\n"
++ "key F9 +AnyMod : \"\\E[20;*~\"\n"
++ "key F10 +AnyMod : \"\\E[21;*~\"\n"
++ "key F11 +AnyMod : \"\\E[23;*~\"\n"
++ "key F12 +AnyMod : \"\\E[24;*~\"\n"
+ "key Space +Control : \"\\x00\"\n"
+ "key Up +Shift-AppScreen : scrollLineUp\n"
+ "key Prior +Shift-AppScreen : scrollPageUp\n"
+--- kdebase-3.4.0/konsole/konsole/session.cpp.konsole 2005-01-23 18:30:46.000000000 +0100
++++ kdebase-3.4.0/konsole/konsole/session.cpp 2005-04-18 09:28:15.000000000 +0200
+@@ -133,6 +133,7 @@
+ sh->run(QFile::encodeName(pgm), args, term.latin1(), winId, add_to_utmp,
+ ("DCOPRef("+appId+",konsole)").latin1(),
+ ("DCOPRef("+appId+","+sessionId+")").latin1());
++ sh->setErase(em->getErase());
+ if (!initial_cwd.isEmpty())
+ QDir::setCurrent(cwd_save);
+ else
+--- kdebase-3.4.0/konsole/konsole/keytrans.h.konsole 2004-09-22 22:02:16.000000000 +0200
++++ kdebase-3.4.0/konsole/konsole/keytrans.h 2005-04-18 09:28:15.000000000 +0200
+@@ -26,6 +26,7 @@
+ #define BITS_Alt 6
+ #define BITS_AppScreen 7
+ #define BITS_COUNT 8
++#define BITS_AnyMod 9
+
+ #define CMD_none -1
+ #define CMD_send 0
+@@ -63,6 +64,7 @@
+ ~KeyEntry();
+ bool matches(int key, int bits, int mask);
+ bool metaspecified(void);
++ bool anymodspecified(void);
+ QString text();
+ int ref;
+ private:
+--- kdebase-3.4.0/konsole/konsole/TEmuVt102.h.konsole 2003-01-01 12:47:39.000000000 +0100
++++ kdebase-3.4.0/konsole/konsole/TEmuVt102.h 2005-04-18 09:28:15.000000000 +0200
+@@ -81,6 +81,8 @@
+ void resetModes();
+
+ void setConnect(bool r);
++
++ char getErase();
+
+ private:
+
+--- kdebase-3.4.0/konsole/konsole/TEmulation.h.konsole 2005-04-13 14:11:10.000000000 +0200
++++ kdebase-3.4.0/konsole/konsole/TEmulation.h 2005-04-18 09:28:15.000000000 +0200
+@@ -87,6 +87,8 @@
+
+ bool utf8() { return m_codec->mibEnum() == 106; }
+
++ virtual char getErase();
++
+ virtual void setListenToKeyPress(bool l);
+ void setColumns(int columns);
+
+--- kdebase-3.4.0/konsole/konsole/keytrans.cpp.konsole 2005-04-01 16:37:01.000000000 +0200
++++ kdebase-3.4.0/konsole/konsole/keytrans.cpp 2005-04-18 09:28:15.000000000 +0200
+@@ -53,7 +53,13 @@
+
+ bool KeyTrans::KeyEntry::metaspecified(void)
+ {
+- return (mask & (1 << BITS_Alt)) && (bits & (1 << BITS_Alt));
++ return ((mask & (1 << BITS_Alt)) && (bits & (1 << BITS_Alt))) ||
++ ((mask & (1 << BITS_AnyMod)) && (bits & (1 << BITS_AnyMod)));
++}
++
++bool KeyTrans::KeyEntry::anymodspecified(void)
++{
++ return (mask & (1 << BITS_AnyMod)) && (bits & (1 << BITS_AnyMod));
+ }
+
+ QString KeyTrans::KeyEntry::text()
+@@ -118,12 +124,27 @@
+ bool* metaspecified)
+ {
+ if (!m_fileRead) readConfig();
++
++ if (bits & ((1<<BITS_Shift)|(1<<BITS_Alt)|(1<<BITS_Control)))
++ bits |= (1<<BITS_AnyMod);
++
+ for (QPtrListIterator<KeyEntry> it(tableX); it.current(); ++it)
+ if (it.current()->matches(key,bits,0xffff))
+ {
+ *cmd = it.current()->cmd;
+- *txt = it.current()->txt.ascii();
+ *len = it.current()->txt.length();
++ if ((*cmd==CMD_send) && it.current()->anymodspecified() && (*len < 16))
++ {
++ static char buf[16];
++ char *c, mask = '1' + BITS(0, bits&(1<<BITS_Shift)) +
++ BITS(1, bits&(1<<BITS_Alt)) + BITS(2, bits&(1<<BITS_Control));
++ strcpy(buf, it.current()->txt.ascii());
++ c = strchr(buf, '*');
++ if (c) *c = mask;
++ *txt = buf;
++ }
++ else
++ *txt = it.current()->txt.ascii();
+ *metaspecified = it.current()->metaspecified();
+ return true;
+ }
+@@ -484,6 +505,8 @@
+ defModSym("NewLine", BITS_NewLine );
+ defModSym("AppCuKeys", BITS_AppCuKeys );
+ defModSym("AppScreen", BITS_AppScreen );
++ // Special (Any Modifier)
++ defModSym("AnyMod", BITS_AnyMod );
+ }
+
+ void KeyTransSymbols::defKeySyms()
+--- kdebase-3.4.0/konsole/konsole/TEPty.cpp.konsole 2005-01-23 18:30:46.000000000 +0100
++++ kdebase-3.4.0/konsole/konsole/TEPty.cpp 2005-04-18 09:28:15.000000000 +0200
+@@ -69,6 +69,7 @@
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #include <errno.h>
++#include <termios.h>
+
+ #include <kstandarddirs.h>
+ #include <klocale.h>
+@@ -98,6 +99,21 @@
+ pty()->setUtf8Mode(on);
+ }
+
++void TEPty::setErase(char erase)
++{
++ struct termios tios;
++ int fd = pty()->slaveFd();
++
++ if(tcgetattr(fd, &tios))
++ {
++ qWarning("Uh oh.. can't get terminal attributes..");
++ return;
++ }
++ tios.c_cc[VERASE] = erase;
++ if(tcsetattr(fd, TCSANOW, &tios))
++ qWarning("Uh oh.. can't set terminal attributes..");
++}
++
+ /*!
+ start the client program.
+ */
+--- kdebase-3.4.0/konsole/konsole/TEPty.h.konsole 2005-01-23 18:30:46.000000000 +0100
++++ kdebase-3.4.0/konsole/konsole/TEPty.h 2005-04-18 09:28:15.000000000 +0200
+@@ -46,6 +46,7 @@
+ QString error() { return m_strError; }
+ void setXonXoff(bool on);
+ void setSize(int lines, int cols);
++ void setErase(char erase);
+
+ public slots:
+ void useUtf8(bool on);
================================================================
More information about the pld-cvs-commit
mailing list