Прошу помощи: я не знаю, как повесить событие на несколько одновременно нажатых клавиш. window.bind('<Клавиша1><Клавиша2>', Функция) не подходит, поскольку срабатывает только при нажатий клавиш порядке и один раз, даже если прицепить модификатор KeyPress. Можно поставить на сочетание с такими клавишами как shift, ctrl. alt, end …(их много) , но мне необходимы две стрелочки.
Уже есть бинды на все стрелочки(1клавиша - 1вызов). Я думал, что нажму две стрелочки и будет меня 2 вызова ф-ий, но нет: при нажатие двух клавиш срабатывает лишь событие одной, а соответственно один обработчик. У меня было 2 мысли, почему такое поведение:
1)однопоточность приложения в целом
2)невозможность осуществлять запись, одновременно с разных потоков в один участок памяти.
Поэтому я разбил каждый бинд(всего 4 бинда, все стрелки) в отдельный поток и сделал очередь. Получилось модель(или как это называется?) производитель\потребитель. Но одновременно два события работать серавно не могли, что в целом предположительно. Ведь bind не вешает весь процесс, а работает как бэ уже работает в фоне, а значит в другом потоке?(я вложил поток в поток?)
Помогите решить мою задачу, надо при событии на двух кнопках одновременно вызывать их обработчики или создать еще одно условие, где необходимо будет нажимать две кнопки одновременно.
Можно вешать в обработчик кнопки еще один бинд и получится некая матрёшка, но это же не верный подход.
Можно проверять клавиши самостоятельно с помощью винапи, но это ведь тоже не правильный вариант.
И очень важно есть ли в моих раздумьях хоть зерно здравого смысла или это все фантазированный бред? Если найдется альтруистически настроенный форумчанин просьба объяснить мои логические ошибки и маразмы.
-
Очевидно, что у меня мало знаний. Может мне что полистать? лутц(которого я полностью не осилил, а лишь заглядываю в некоторые главы) и бизли есть.