Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Программирование клавиш  (Прочитано 4146 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн cav

  • Любитель
  • *
  • Сообщений: 57
    • Просмотр профиля
    • Истории одного программера
Re: Программирование клавиш
« Ответ #15 : 30 Мая 2011, 14:38:10 »
отлавливая сообщения key_relase_event у окна (ну или у виджета на которм лежат твои кнопки)
нажатие кнопок через установку фокуса и посылку сообщения clicked
(Ubuntu 12.04, Ubuntu 10.04)
http://cavinc.blogspot.com/

Оффлайн alien666

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Программирование клавиш
« Ответ #16 : 30 Мая 2011, 17:37:01 »
И так пробовал!!!реакция на нажатие клавишь есть-т.е. можно прописать любое событие и оно "свершиться", но реакция "клика" кнопки на эти события не происходит!
« Последнее редактирование: 30 Мая 2011, 21:00:40 от alien666 »

Оффлайн cav

  • Любитель
  • *
  • Сообщений: 57
    • Просмотр профиля
    • Истории одного программера
Re: Программирование клавиш
« Ответ #17 : 31 Мая 2011, 10:42:45 »
можно что то типа такого
  def __on_key_release(self,widget,event):
    if event.type==gtk.gdk.KEY_RELEASE:
     if event.hardware_keycode==38:
     # button A
       self.bt1.grab_focus()
       eventm=gtk.gdk.Event(gtk.gdk.KEY_PRESS)
       eventm.window=self.win.window
       eventm.hardware_keycode=36
       eventm.send_event=True
       self.win.emit('key-release-event',eventm)
то есть попытаться послать окну или кнопке сообщение о том что была нажата мышка или enter
(Ubuntu 12.04, Ubuntu 10.04)
http://cavinc.blogspot.com/

Оффлайн alien666

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Программирование клавиш
« Ответ #18 : 01 Июня 2011, 21:35:26 »
cav я просмотрел код-оказывается это в питоне написано что-то я не допер сразу!!!этот "змеиный" исходник я благополучно запустил на fedora, но реакция на кнопки нет, то есть я жму кнопку A на клаве а она не кликает, а вместо этого пишет в консоли сообщение в виде непонятных символов и 1, если ясам нажимаю эту кнопку, и также не работает клавиша L т.е. выводит сообщение при нажатии ее мышкой или пробелом -аналогично ентером 2!а ПИТОН -это круто!!!

Оффлайн cav

  • Любитель
  • *
  • Сообщений: 57
    • Просмотр профиля
    • Истории одного программера
Re: Программирование клавиш
« Ответ #19 : 02 Июня 2011, 12:16:24 »
Есть еще вариант
рисовать не стандартные кнопки gtk а свой виджет и тогда можно им управлять как хочется
в свое время на Delphi проэкте пришлось так сделать что бы кнопки реагировали только через мой обработчик событий и не реагировали на штатные вобще
(Ubuntu 12.04, Ubuntu 10.04)
http://cavinc.blogspot.com/

 

Страница сгенерирована за 0.053 секунд. Запросов: 25.