Ich versuche, das Verhalten typischer IM-Clients zu ermitteln, die Return
verwenden, um einen Text zu senden, und Shift + Return
, um einen Zeilenumbruch einzufügen. Gibt es eine Möglichkeit, dies mit minimalem Aufwand in Python zu erreichen, indem z. readline und raw_input
?
Ok, ich habe gehört, dass es auch mit der readline
funktioniert, in gewisser Weise.
Sie können import readline
setzen und in der Konfiguration Ihren gewünschten Schlüssel (Umschalt + Enter) auf ein Makro setzen, das ein spezielles Zeichen am Ende der Zeile und Zeilenumbruch platziert. Dann können Sie raw_input
in einer Schleife aufrufen.
So:
%Vor% Ich bezweifle, dass Sie dies nur mit dem readline
-Modul tun könnten, da es die einzelnen Tasten nicht erfasst und nur die Zeichenantworten von Ihrem Eingabetreiber verarbeitet.
Du könntest es mit PyHook tun und wenn der Schlüssel Shift
ist Zusammen mit der Taste Enter
gedrückt, um eine neue Zeile in den Stream readline
einzufügen.
Ich denke, dass mit minimalem Aufwand Sie urwid Bibliothek für Python verwenden können. Leider entspricht dies nicht Ihrer Anforderung, readline / raw_input zu verwenden.
Update: Siehe auch diese Antwort für andere Lösung.