| Server IP : 104.21.25.180 / Your IP : 104.23.197.123 Web Server : Apache/2.4.37 System : Linux almalinux.duckdns.org 4.18.0-553.111.1.el8_10.x86_64 #1 SMP Sun Mar 8 20:06:07 EDT 2026 x86_64 User : ricodeal ( 1046) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/ibus-hangul/setup/ |
Upload File : |
from gi.repository import Gtk
from gi.repository import Gdk
import gettext
_ = lambda a : gettext.dgettext("ibus-hangul", a)
class KeyCaptureDialog ():
def __init__ (self, title, parent):
self.__key_str = ''
self.__dialog = Gtk.MessageDialog(parent,
Gtk.DialogFlags.MODAL,
Gtk.MessageType.INFO,
Gtk.ButtonsType.OK_CANCEL,
"")
self.__dialog.set_markup(" ")
self.__dialog.format_secondary_markup(" ")
self.__dialog.connect("key-press-event", self.on_keypress, None)
def destroy(self):
self.__dialog.destroy()
def run(self):
return self.__dialog.run()
def set_markup(self, text):
self.__dialog.set_markup(text)
def get_key_string(self):
return self.__key_str
def on_keypress(self, widget, event, data = None):
self.__key_str = ""
if event.state & Gdk.ModifierType.CONTROL_MASK :
self.__key_str += "Control+"
if event.state & Gdk.ModifierType.MOD1_MASK :
self.__key_str += "Alt+"
if event.state & Gdk.ModifierType.SHIFT_MASK :
self.__key_str += "Shift+"
self.__key_str += Gdk.keyval_name(event.keyval)
self.__dialog.format_secondary_markup('<span size="large" weight="bold">%s</span>' % self.__key_str)