Как я могу обнаружить несколько нажатий клавиш в C GTK? - PullRequest
1 голос
/ 17 ноября 2011

Я пишу чат на основе GTK и хочу реализовать следующее:

В GtkTextView при нажатии Enter ввод отправляется, но при нажатии Shift + Enter вводится новая строка.

Я просто не могу понять, как обнаружить нажатие нескольких клавиш. Я могу обнаружить только один ключ с GdkEventKey.

1 Ответ

5 голосов
/ 17 ноября 2011

Загляните внутрь элемента состояния e GdkEventKey, он содержит битовую маску , из которых также нажимаются клавиши-модификаторы (shift / control / alt и другие).

В общем случае обнаружения нажатия нескольких клавиш вы должны сами отслеживать нажатые клавиши, т.е. при событии нажатия клавиши вы помните, что клавиша нажата, а при отпускании клавиши вы забыли клавишу .

...