changeset 13651:bfac3c49cfd0

Catching Ctrl+D.
author Jacob Dawid <jacob.dawid@googlemail.com>
date Tue, 23 Aug 2011 21:53:16 +0200
parents da69cec2459f
children 3d4f5cf3ca34
files gui/src/terminal/LinuxTerminalEmulation.cpp
diffstat 1 files changed, 22 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/gui/src/terminal/LinuxTerminalEmulation.cpp	Tue Aug 23 20:31:51 2011 +0200
+++ b/gui/src/terminal/LinuxTerminalEmulation.cpp	Tue Aug 23 21:53:16 2011 +0200
@@ -52,9 +52,28 @@
       m_pty->write ("\033OF");
       break;
 
-      //case Qt::Key_Backspace:
-      //m_pty->sendData ("\03308");
-      //break;
+      case Qt::Key_C:
+      if (keyEvent->modifiers() & Qt::ControlModifier)
+        {
+          // TODO: Lookup and implement Control + C.
+        }
+      else
+        {
+          m_pty->write (keyEvent->text ().toAscii ());
+        }
+      break;
+
+      case Qt::Key_D:
+      if (keyEvent->modifiers() & Qt::ControlModifier)
+        {
+          // Do not send EOT, because this will crash
+          // the program.
+        }
+      else
+        {
+          m_pty->write (keyEvent->text ().toAscii ());
+        }
+      break;
 
       default:
       m_pty->write (keyEvent->text ().toAscii ());