Бесконечный l oop с основной петлей GTK - PullRequest
0 голосов
/ 09 апреля 2020

Я пишу приложение GTK для отображения иконки в системном трее и захвата пользовательских вводов с клавиатуры. Я написал inifinite l oop для ввода пользовательских данных. Но как заставить его работать с gtk main l oop? Заранее спасибо за любую идею.

Моя попытка: -

            use device_query::{DeviceQuery, DeviceState, Keycode};


            let device_state = DeviceState::new();
            let mut started = false;
            loop {
                let keys: Vec<Keycode> = device_state.get_keys();

                match keys.last() {
                    Some(key)=>{
                        match key {
                            Keycode::LControl=>{
                                started = true;
                            }
                            Keycode::RControl=>{
                                started = true;
                            }
                            Keycode::F6=>{
                                if started {
                                    println!("Fired");
                                }
                                started = false;
                            }
                            _=>{
                                started = false;
                            }
                        }
                    }

                    None=>{}
                }

            }

            gtk::main();
...