Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 4, 2014 19:11:59

dos123
Зарегистрирован: 2014-04-04
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

нужна помощь

Например два раз нажать кнопку одновременно должна “K”
пример скрипт(одна раз нажать кнопку)
if event == key_codes.EKey2:
event = 74 #(“J”)
#symbian python

Офлайн

#2 Апрель 4, 2014 19:30:31

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

нужна помощь

Объясните подробнее, что конкретно вы хотите сделать в итоге, event откуда - Canvas, keycapture?, питон какой- 1.4.5, 2.0? Тогда можно будет что-то дальше обсуждать, а щас неясно ничего.

Отредактировано dimy44 (Апрель 4, 2014 19:45:38)

Офлайн

#3 Апрель 4, 2014 19:46:05

dos123
Зарегистрирован: 2014-04-04
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

нужна помощь

на пример кнопку 2 #“key_codes.EKey2”
когда два раз нажать кнопку key_codes.EKey2 должна вход на экране “K”
if event == key_codes.EKey2 and key_kodes.EKey2:
event = 75 #ошибка

Офлайн

#4 Апрель 4, 2014 19:55:39

dos123
Зарегистрирован: 2014-04-04
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

нужна помощь

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

Офлайн

#5 Апрель 4, 2014 19:57:13

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

нужна помощь

Прочтите еще раз то что я выше написал. Что конкретно вы хотите сделать? Выводить текс в канвасе, перехватывая нажатия клавишь, эмулируя ввод как в стандарном текстовом поле? Или что? Я не экстасенс ведь…

Офлайн

#6 Апрель 4, 2014 20:10:33

dos123
Зарегистрирован: 2014-04-04
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

нужна помощь

смотрите please

Прикреплённый файлы:
attachment File.zip (12,8 KБ)

Офлайн

#7 Апрель 4, 2014 23:41:50

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

нужна помощь

Хм. Вместо того, чтоб объяснить в 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()

Офлайн

#8 Апрель 5, 2014 08:39:33

dos123
Зарегистрирован: 2014-04-04
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

нужна помощь

УАУ спасибо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version