Форум сайта python.su
0
Например два раз нажать кнопку одновременно должна “K”
пример скрипт(одна раз нажать кнопку)
if event == key_codes.EKey2:
event = 74 #(“J”)
#symbian python
Офлайн
Объясните подробнее, что конкретно вы хотите сделать в итоге, event откуда - Canvas, keycapture?, питон какой- 1.4.5, 2.0? Тогда можно будет что-то дальше обсуждать, а щас неясно ничего.
Отредактировано dimy44 (Апрель 4, 2014 19:45:38)
Офлайн
0
на пример кнопку 2 #“key_codes.EKey2”
когда два раз нажать кнопку key_codes.EKey2 должна вход на экране “K”
if event == key_codes.EKey2 and key_kodes.EKey2:
event = 75 #ошибка
Офлайн
0
def keyEventReceived(self, event):
eventType = event'type'
keycode = event'keycode'
scancode = event'scancode'
modifiers = event'modifiers'
if eventType != appuifw.EEventKey:
return
if keycode == key_codes.EKey2 and key_ kodes.EKey2:
keycode = 75 #error
Офлайн
Прочтите еще раз то что я выше написал. Что конкретно вы хотите сделать? Выводить текс в канвасе, перехватывая нажатия клавишь, эмулируя ввод как в стандарном текстовом поле? Или что? Я не экстасенс ведь…
Офлайн
0
смотрите please
Прикреплённый файлы:
File.zip (12,8 KБ)
Офлайн
Хм. Вместо того, чтоб объяснить в 3х строчках свою цель, вы мне тулите скрипт с говнокодом, который мне и запустить не на чем. Ладно, попробую угадать. Вот, разбирайтесь, набросал пример, вроде ошибок быть не должно, проверить не могу, запустите
import appuifw import e32 import time import graphics flag = [0, 0, 0] #время, нажатия, кейкод text = [''] def event_callback(event): keycode = event['keycode'] if not keycode: return if keycode != flag[2]: flag[0] = flag[1] = 0 flag[2] = keycode if keycode == 53: # клавиша 5 (jkl) time_clock = time.clock() if time_clock - flag[0] < 0.8: # предел между нажатиями клавиши, секунд text[-1] = unicode(ord(('J', 'K', 'L')[flag[1]])) flag[1] += 1 if flag[1] > 2: flag[1] = 0 else: flag[1] = 1 text.append(unicode(ord('J'))) flag[0] = time_clock img.clear() img.text((1, 30), ' '.join(text)) canvas.blit(img) canvas = appuifw.Canvas(event_callback=event_callback) appuifw.app.body = canvas img = graphics.Image.new(canvas.size) lock = e32.Ao_lock() appuifw.app.exit_key_handler = lock.signal lock.wait()
Офлайн
0
УАУ спасибо
Офлайн