mirror of https://github.com/kivy/kivy.git
43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
import kivy
|
|
kivy.require('1.0.8')
|
|
|
|
from kivy.core.window import Window
|
|
from kivy.uix.widget import Widget
|
|
|
|
|
|
class MyKeyboardListener(Widget):
|
|
|
|
def __init__(self, **kwargs):
|
|
super(MyKeyboardListener, self).__init__(**kwargs)
|
|
self._keyboard = Window.request_keyboard(
|
|
self._keyboard_closed, self, 'text')
|
|
if self._keyboard.widget:
|
|
# If it exists, this widget is a VKeyboard object which you can use
|
|
# to change the keyboard layout.
|
|
pass
|
|
self._keyboard.bind(on_key_down=self._on_keyboard_down)
|
|
|
|
def _keyboard_closed(self):
|
|
print('My keyboard have been closed!')
|
|
self._keyboard.unbind(on_key_down=self._on_keyboard_down)
|
|
self._keyboard = None
|
|
|
|
def _on_keyboard_down(self, keyboard, keycode, text, modifiers):
|
|
print('The key', keycode, 'have been pressed')
|
|
print(' - text is %r' % text)
|
|
print(' - modifiers are %r' % modifiers)
|
|
|
|
# Keycode is composed of an integer + a string
|
|
# If we hit escape, release the keyboard
|
|
if keycode[1] == 'escape':
|
|
keyboard.release()
|
|
|
|
# Return True to accept the key. Otherwise, it will be used by
|
|
# the system.
|
|
return True
|
|
|
|
|
|
if __name__ == '__main__':
|
|
from kivy.base import runTouchApp
|
|
runTouchApp(MyKeyboardListener())
|