Я использую поляну вместе с языком C для разработки графического интерфейса. Я могу сопоставить все цифровые клавиши и буквенные клавиши с клавиатуры на кнопки поляны в качестве ускорителей. Однако я не могу сопоставить следующие кнопки: ESC, стрелки вверх, вниз, влево, вправо.
В поляне, когда я набираю поле ускорителя вверх, вниз, влево, вправо или esc, ничего не сохраняется. Но если я набираю их, удерживая CTRL, они сохраняются как основная кнопка.
Даже в файле .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?
modifiers="GDK_CONTROL_MASK"
говорит, что они не должны работать без нажатия клавишиctrl
. Что произойдет, если вы просто удалите эту часть? - person Alexander Dmitriev   schedule 07.06.2018