summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-04-28 15:08:04 (UTC)
committer llornkcor <llornkcor>2002-04-28 15:08:04 (UTC)
commitd9a38221ea876cae8ef8b015968e14af75e202bb (patch) (unidiff)
tree624d057fa2ee702140aee1ef061713af878d92b1
parentc55ffe32ced1ecbac991ca2e85c6993cf8a04ee0 (diff)
downloadopie-d9a38221ea876cae8ef8b015968e14af75e202bb.zip
opie-d9a38221ea876cae8ef8b015968e14af75e202bb.tar.gz
opie-d9a38221ea876cae8ef8b015968e14af75e202bb.tar.bz2
harcoded Shift & Key_Tab to emit a '\' character
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/embeddedkonsole/TEWidget.cpp8
-rw-r--r--core/apps/embeddedkonsole/konsole.cpp3
2 files changed, 8 insertions, 3 deletions
diff --git a/core/apps/embeddedkonsole/TEWidget.cpp b/core/apps/embeddedkonsole/TEWidget.cpp
index dab0ea3..350ab3a 100644
--- a/core/apps/embeddedkonsole/TEWidget.cpp
+++ b/core/apps/embeddedkonsole/TEWidget.cpp
@@ -961,105 +961,109 @@ void TEWidget::onClearSelection()
961// Troll says one needs to change focusInEvent() and focusOutEvent(), 961// Troll says one needs to change focusInEvent() and focusOutEvent(),
962// which would also let you have an in-focus cursor and an out-focus 962// which would also let you have an in-focus cursor and an out-focus
963// cursor like xterm does. 963// cursor like xterm does.
964 964
965// for the auto-hide cursor feature, I added empty focusInEvent() and 965// for the auto-hide cursor feature, I added empty focusInEvent() and
966// focusOutEvent() so that update() isn't called. 966// focusOutEvent() so that update() isn't called.
967// For auto-hide, we need to get keypress-events, but we only get them when 967// For auto-hide, we need to get keypress-events, but we only get them when
968// we have focus. 968// we have focus.
969 969
970void TEWidget::doScroll(int lines) 970void TEWidget::doScroll(int lines)
971{ 971{
972 scrollbar->setValue(scrollbar->value()+lines); 972 scrollbar->setValue(scrollbar->value()+lines);
973} 973}
974 974
975bool TEWidget::eventFilter( QObject *obj, QEvent *e ) 975bool TEWidget::eventFilter( QObject *obj, QEvent *e )
976{ 976{
977 if ( (e->type() == QEvent::Accel || 977 if ( (e->type() == QEvent::Accel ||
978 e->type() == QEvent::AccelAvailable ) && qApp->focusWidget() == this ) 978 e->type() == QEvent::AccelAvailable ) && qApp->focusWidget() == this )
979 { 979 {
980 static_cast<QKeyEvent *>( e )->ignore(); 980 static_cast<QKeyEvent *>( e )->ignore();
981 return true; 981 return true;
982 } 982 }
983 if ( obj != this /* when embedded */ && obj != parent() /* when standalone */ ) 983 if ( obj != this /* when embedded */ && obj != parent() /* when standalone */ )
984 return FALSE; // not us 984 return FALSE; // not us
985 if ( e->type() == QEvent::Wheel) 985 if ( e->type() == QEvent::Wheel)
986 { 986 {
987 QApplication::sendEvent(scrollbar, e); 987 QApplication::sendEvent(scrollbar, e);
988 } 988 }
989 989
990#ifdef FAKE_CTRL_AND_ALT 990#ifdef FAKE_CTRL_AND_ALT
991 static bool control = FALSE; 991 static bool control = FALSE;
992 static bool alt = FALSE; 992 static bool alt = FALSE;
993 // Has a keyboard with no CTRL and ALT keys, but we fake it: 993 qDebug(" Has a keyboard with no CTRL and ALT keys, but we fake it:");
994 bool dele=FALSE; 994 bool dele=FALSE;
995 if ( e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease ) { 995 if ( e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease ) {
996 QKeyEvent* ke = (QKeyEvent*)e; 996 QKeyEvent* ke = (QKeyEvent*)e;
997 bool keydown = e->type() == QEvent::KeyPress || ke->isAutoRepeat(); 997 bool keydown = e->type() == QEvent::KeyPress || ke->isAutoRepeat();
998 switch (ke->key()) { 998 switch (ke->key()) {
999 case Key_F9: // let this be "Control" 999 case Key_F9: // let this be "Control"
1000 control = keydown; 1000 control = keydown;
1001 e = new QKeyEvent(QEvent::KeyPress, Key_Control, 0, ke->state()); 1001 e = new QKeyEvent(QEvent::KeyPress, Key_Control, 0, ke->state());
1002 dele=TRUE; 1002 dele=TRUE;
1003 break; 1003 break;
1004 case Key_F13: // let this be "Alt" 1004 case Key_F13: // let this be "Alt"
1005 alt = keydown; 1005 alt = keydown;
1006 e = new QKeyEvent(QEvent::KeyPress, Key_Alt, 0, ke->state()); 1006 e = new QKeyEvent(QEvent::KeyPress, Key_Alt, 0, ke->state());
1007 dele=TRUE; 1007 dele=TRUE;
1008 break; 1008 break;
1009 default: 1009 default:
1010 if ( control ) { 1010 if ( control ) {
1011 int a = toupper(ke->ascii())-64; 1011 int a = toupper(ke->ascii())-64;
1012 if ( a >= 0 && a < ' ' ) { 1012 if ( a >= 0 && a < ' ' ) {
1013 e = new QKeyEvent(e->type(), ke->key(), 1013 e = new QKeyEvent(e->type(), ke->key(),
1014 a, ke->state()|ControlButton, QChar(a,0)); 1014 a, ke->state()|ControlButton, QChar(a,0));
1015 dele=TRUE; 1015 dele=TRUE;
1016 } 1016 }
1017 } 1017 }
1018 if ( alt ) { 1018 if ( alt ) {
1019 e = new QKeyEvent(e->type(), ke->key(), 1019 e = new QKeyEvent(e->type(), ke->key(),
1020 ke->ascii(), ke->state()|AltButton, ke->text()); 1020 ke->ascii(), ke->state()|AltButton, ke->text());
1021 dele=TRUE; 1021 dele=TRUE;
1022 } 1022 }
1023 } 1023 }
1024 } 1024 }
1025#endif 1025#endif
1026 1026
1027 if ( e->type() == QEvent::KeyPress ) 1027 if ( e->type() == QEvent::KeyPress )
1028 { 1028 {
1029 QKeyEvent* ke = (QKeyEvent*)e; 1029 QKeyEvent* ke = (QKeyEvent*)e;
1030
1031 actSel=0; // Key stroke implies a screen update, so TEWidget won't 1030 actSel=0; // Key stroke implies a screen update, so TEWidget won't
1032 // know where the current selection is. 1031 // know where the current selection is.
1033 1032
1033// qDebug("key pressed is 0x%x",ke->key());
1034 if( ke->state() == ShiftButton && ke->key() == Key_Tab) { //lets hardcode this sucker
1035// qDebug("key pressed 2 is 0x%x",ke->key());
1036 emitText("\\"); // expose
1037 } else
1034 emit keyPressedSignal(ke); // expose 1038 emit keyPressedSignal(ke); // expose
1035 ke->accept(); 1039 ke->accept();
1036#ifdef FAKE_CTRL_AND_ALT 1040#ifdef FAKE_CTRL_AND_ALT
1037 if ( dele ) delete e; 1041 if ( dele ) delete e;
1038#endif 1042#endif
1039 return true; // stop the event 1043 return true; // stop the event
1040 } 1044 }
1041 if ( e->type() == QEvent::Enter ) 1045 if ( e->type() == QEvent::Enter )
1042 { 1046 {
1043 QObject::disconnect( (QObject*)cb, SIGNAL(dataChanged()), 1047 QObject::disconnect( (QObject*)cb, SIGNAL(dataChanged()),
1044 this, SLOT(onClearSelection()) ); 1048 this, SLOT(onClearSelection()) );
1045 } 1049 }
1046 if ( e->type() == QEvent::Leave ) 1050 if ( e->type() == QEvent::Leave )
1047 { 1051 {
1048 QObject::connect( (QObject*)cb, SIGNAL(dataChanged()), 1052 QObject::connect( (QObject*)cb, SIGNAL(dataChanged()),
1049 this, SLOT(onClearSelection()) ); 1053 this, SLOT(onClearSelection()) );
1050 } 1054 }
1051 return QFrame::eventFilter( obj, e ); 1055 return QFrame::eventFilter( obj, e );
1052} 1056}
1053 1057
1054/* ------------------------------------------------------------------------- */ 1058/* ------------------------------------------------------------------------- */
1055/* */ 1059/* */
1056/* Frame */ 1060/* Frame */
1057/* */ 1061/* */
1058/* ------------------------------------------------------------------------- */ 1062/* ------------------------------------------------------------------------- */
1059 1063
1060void TEWidget::frameChanged() 1064void TEWidget::frameChanged()
1061{ 1065{
1062 propagateSize(); 1066 propagateSize();
1063 update(); 1067 update();
1064} 1068}
1065 1069
diff --git a/core/apps/embeddedkonsole/konsole.cpp b/core/apps/embeddedkonsole/konsole.cpp
index f13d0c9..adcfb7f 100644
--- a/core/apps/embeddedkonsole/konsole.cpp
+++ b/core/apps/embeddedkonsole/konsole.cpp
@@ -139,65 +139,66 @@ static const char *commonCmds[] =
139 "gzip", 139 "gzip",
140 "gunzip", 140 "gunzip",
141 "chgrp", 141 "chgrp",
142 "chown", 142 "chown",
143 "date", 143 "date",
144 "dd", 144 "dd",
145 "df", 145 "df",
146 "dmesg", 146 "dmesg",
147 "fuser", 147 "fuser",
148 "hostname", 148 "hostname",
149 "kill", 149 "kill",
150 "killall", 150 "killall",
151 "ln", 151 "ln",
152 "ping", 152 "ping",
153 "mount", 153 "mount",
154 "more", 154 "more",
155 "sort", 155 "sort",
156 "touch", 156 "touch",
157 "umount", 157 "umount",
158 "mknod", 158 "mknod",
159 "netstat", 159 "netstat",
160*/ 160*/
161 161
162 "exit", 162 "exit",
163 NULL 163 NULL
164}; 164};
165 165
166 166
167Konsole::Konsole(QWidget* parent, const char* name, WFlags fl) : 167Konsole::Konsole(QWidget* parent, const char* name, WFlags fl) :
168 QMainWindow(parent, name, fl) 168 QMainWindow(parent, name, fl)
169{ 169{
170 QStrList args; 170 QStrList args;
171 init("/bin/sh",args); 171 init("/bin/ash",args);
172// init("/bin/sh",args);
172} 173}
173 174
174Konsole::Konsole(const char* name, const char* _pgm, QStrList & _args, int) 175Konsole::Konsole(const char* name, const char* _pgm, QStrList & _args, int)
175 : QMainWindow(0, name) 176 : QMainWindow(0, name)
176{ 177{
177 init(_pgm,_args); 178 init(_pgm,_args);
178} 179}
179 180
180void Konsole::initCommandList() 181void Konsole::initCommandList()
181{ 182{
182// qDebug("Konsole::initCommandList"); 183// qDebug("Konsole::initCommandList");
183 Config cfg("Konsole"); 184 Config cfg("Konsole");
184 cfg.setGroup("Commands"); 185 cfg.setGroup("Commands");
185 commonCombo->setInsertionPolicy(QComboBox::AtCurrent); 186 commonCombo->setInsertionPolicy(QComboBox::AtCurrent);
186 commonCombo->clear(); 187 commonCombo->clear();
187 if (cfg.readEntry("Commands Set","FALSE") == "FALSE") { 188 if (cfg.readEntry("Commands Set","FALSE") == "FALSE") {
188 for (int i = 0; commonCmds[i] != NULL; i++) { 189 for (int i = 0; commonCmds[i] != NULL; i++) {
189 commonCombo->insertItem(commonCmds[i],i); 190 commonCombo->insertItem(commonCmds[i],i);
190 } 191 }
191 } else { 192 } else {
192 for (int i = 0; i < 100; i++) { 193 for (int i = 0; i < 100; i++) {
193 if (!(cfg.readEntry( QString::number(i),"")).isEmpty()) 194 if (!(cfg.readEntry( QString::number(i),"")).isEmpty())
194 commonCombo->insertItem((cfg.readEntry( QString::number(i),""))); 195 commonCombo->insertItem((cfg.readEntry( QString::number(i),"")));
195 } 196 }
196 } 197 }
197 198
198} 199}
199 200
200void Konsole::init(const char* _pgm, QStrList & _args) 201void Konsole::init(const char* _pgm, QStrList & _args)
201{ 202{
202 b_scroll = TRUE; // histon; 203 b_scroll = TRUE; // histon;
203 n_keytab = 0; 204 n_keytab = 0;