Hallo
Umfeld: Ubuntu/Gnome/gtk/Xserver
Ist es möglich zu erkennen ob man in ein Entry / TextView oder ein anderes Widget geklickt hat in das man text eingeben kann und das global in jedem Programm.
Ich will so etwas wie Windows für Touchscreens hat programmieren:
Wenn man dort in ein Widget klick (egal in welchem Programm) öffnet sich die Virtuelle Tastatur, ich finde das recht praktisch, weil man nicht immer die Virtuelle Tastatur ein und ausblenden muss.
Könnte ja irgend wie mit dem Xserver (xlib) gehen.
Gruß
Andyh
Eingaben erkennen
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Sicher, dazu gibt es das Signal "button-release-event", das bei jedem Widget ausgelöst wird.Andyh hat geschrieben:Ist es möglich zu erkennen ob man in ein Entry / TextView oder ein anderes Widget geklickt hat in das man text eingeben kann und das global in jedem Programm.
http://library.gnome.org/devel/pygtk/st ... ease-event
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher
http://ms4py.org/
Gerhard Kocher
http://ms4py.org/
hallo
Du hast mich falsch verstanden.
Beispiel:
-ich habe einen Touchscreen
-öffne den Firefox
-klicke mit meinem Finger/Stift in die Adressleiste
-jetzt öffnen sich die Virtuelle Tastatur
Wenn ich selber ein Programm schreibe kann ich die Widgets ja mit Events belegen, aber nicht bei Programmen wie Gedit, Firefox, usw...
gruß
Andyh
Du hast mich falsch verstanden.
Beispiel:
-ich habe einen Touchscreen
-öffne den Firefox
-klicke mit meinem Finger/Stift in die Adressleiste
-jetzt öffnen sich die Virtuelle Tastatur
Wenn ich selber ein Programm schreibe kann ich die Widgets ja mit Events belegen, aber nicht bei Programmen wie Gedit, Firefox, usw...
gruß
Andyh
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Hallo
Ich habe was gefunden.
Es müsste das Event FocusIn in der Xlib sein, nur bekomme ich es nicht.
Gruß
Andyh
Ich habe was gefunden.
Es müsste das Event FocusIn in der Xlib sein, nur bekomme ich es nicht.
Code: Alles auswählen
import Xlib
import Xlib.X as X
import Xlib.display as display
dsp = display.Display()
screen = dsp.screen()
root = screen.root
root.change_attributes(event_mask = (X.FocusChangeMask))
dsp.flush()
while 1:
e = root.display.next_event()
print e
Andyh
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]