Найти - Пользователи
Полная версия: нужна помощь
Начало » Python для новичков » нужна помощь
1
dos123
Например два раз нажать кнопку одновременно должна “K”
пример скрипт(одна раз нажать кнопку)
if event == key_codes.EKey2:
event = 74 #(“J”)
#symbian python
dimy44
Объясните подробнее, что конкретно вы хотите сделать в итоге, event откуда - Canvas, keycapture?, питон какой- 1.4.5, 2.0? Тогда можно будет что-то дальше обсуждать, а щас неясно ничего.
dos123
на пример кнопку 2 #“key_codes.EKey2”
когда два раз нажать кнопку key_codes.EKey2 должна вход на экране “K”
if event == key_codes.EKey2 and key_kodes.EKey2:
event = 75 #ошибка
dos123
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
dimy44
Прочтите еще раз то что я выше написал. Что конкретно вы хотите сделать? Выводить текс в канвасе, перехватывая нажатия клавишь, эмулируя ввод как в стандарном текстовом поле? Или что? Я не экстасенс ведь…
dos123
смотрите please
dimy44
Хм. Вместо того, чтоб объяснить в 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()
dos123
УАУ спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB