Поляна клавиатура (побег, стрелки) ускорители - PullRequest
0 голосов
/ 06 июня 2018

Я использую glade вместе с языком C для разработки графического интерфейса.Я могу отобразить все цифровые клавиши и буквенные клавиши от клавиатуры до полевых кнопок в качестве ускорителей.Однако я не могу отобразить следующие кнопки: ESC, стрелки вверх, вниз, влево, вправо.

На поляне, когда я набираю в поле акселератора вверх, вниз, влево, вправо или esc, ничего не сохраняется.Но если я наберу их, удерживая клавишу CTRL, он сохранит их в качестве основной кнопки.

enter image description here

Даже в файле .glade ключи сохраняются в том виде, в котором они должны бытьработать в одиночку, но они работают только тогда, когда я удерживаю CTRL.

<object class="GtkButton" id="button_left_roll">
  <property name="visible">True</property>
  <property name="can_focus">True</property>
  <property name="receives_default">True</property>
  <property name="image">image19</property>
  <property name="always_show_image">True</property>
  <signal name="clicked" handler="on_button_left_roll_clicked" swapped="no"/>
  <accelerator key="Left" signal="clicked" modifiers="GDK_CONTROL_MASK"/>
</object>

Как их использовать, не удерживая клавишу CTRL?

1 Ответ

0 голосов
/ 07 июня 2018

Что на самом деле вызывает проблему: modifiers = "GDK_CONTROL_MASK".Итак, что сработало для меня: установить GDK_CONTROL_MASK в GDK_LOCK_MASK.

...