Seite 1 von 1

Caps Lock Symbol

Verfasst: Dienstag 27. März 2007, 14:25
von sprudel
Hallo. 2 Fragen:

1. Gibt es irgendeine spezielle Funktion, dass in der Statusleistei ein Symbol angezeigt wird, welches leuchet (oder irgendwie anders) signalisiert dass Capslock aktiviert ist?

2.
Wie kann ich die einzelnen Abschnitte in der größe Ändern? Am besten wäre eine %-Angabe. Ist das möglich?

Verfasst: Dienstag 27. März 2007, 15:45
von Masaru
1.

Code: Alles auswählen

import win32api
import win32con

print "CapsLock is: %s" % ('off', 'on')[win32api.GetKeyState(win32con.VK_CAPITAL)]
Das Ergebnis von win32api.GetAsyncKeyState selber in die Leiste integrieren.

2. ... *schulterzuck* :D

---
EDIT: Konstante für CapsLock in win32con im Snippet erweitert

Verfasst: Dienstag 27. März 2007, 15:54
von sprudel
Geht es auch Plattformübergreifend?

Verfasst: Dienstag 27. März 2007, 16:22
von Masaru
Hm ... es könnte mit wxPython selbst auch funktionieren.

Es gibt die wx.KeyEvent Klasse, in welcher auch der Keycode "WXK_CAPITAL" (war CapsLock sein müsste) sind befindet.

Auf das Drücken dieser Taste könnte man z.B. Abfragen mit den KeyEvents.

Letztendlich darf man aber nicht vergessen, dass die CapsLock Taste je nach Tastatur, Treiber, kultureller Sprachregion, etc. theoretisch andere KeyCodes haben kann.

Neben Encoding eines der größten Herrausforderungen für Softwarearchitekten *hehe*.

Verfasst: Dienstag 27. März 2007, 19:38
von gerold
Hi!

Es geht einfacher:

Code: Alles auswählen

>>> import wx
>>> wx.GetKeyState(wx.WXK_NUMLOCK)
True
>>> wx.GetKeyState(wx.WXK_SCROLL)
False
>>> wx.GetKeyState(wx.WXK_CAPITAL)
False
>>> 
mfg
Gerold
:-)