Quantcast
Channel: Active questions tagged ubuntu - Stack Overflow
Viewing all articles
Browse latest Browse all 7069

Monitor goes black after clicking special keys in Tauri app

$
0
0

I'm creating a simple tauri app where i want to capture user input globally, and show it in the application, something like a keystrokes visualizer.

I'm using rdev crate for this.

the app sometimes runs fine, but after a while, when i press the ctrl key, or alt or just any special keys combination, my main monitor (laptop) goes totally black. and the second monitor stays working.

if i unplug the HDMI cable the main screen comes back to life.then i can plug it back and continue working.

I'm on Ubutun 24.04.1 LTS

i checked /var/log/syslogand here is the last couple of lines after the problem happend

Present-flip: queue flip during flip on CRTC 0 failed: Device or resource busy]2024-09-25T07:24:18.284701+03:00 urboifox gnome-software[50089]: Failed to reload changed app filter: App filtering is globally disabled2024-09-25T07:24:18.294084+03:00 urboifox /usr/libexec/gdm-x-session[49447]: (WW) modeset(0): Present-flip: queue flip during flip on CRTC 0 failed: Device or resource busy

the rest are literally the same couple of lines but repeated.

and here's my main.rs code

// Prevents additional console window on Windows in release, DO NOT REMOVE!!#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]use rdev::{listen, EventType};use tauri::{self, Manager};#[derive(Clone, serde::Serialize)]struct Payload {    key: String,}fn main() {    tauri::Builder::default()        .setup(|app| {            let handle = app.handle();            std::thread::spawn(move || {                listen(move |event| match event.event_type {                    EventType::KeyPress(key) => {                        let key_name = format!("{:?}", key);                        handle                            .emit_all("key-down", Payload { key: key_name })                            .unwrap()                    }                    EventType::KeyRelease(key) => {                        let key_name = format!("{:?}", key);                        handle                            .emit_all("key-up", Payload { key: key_name })                            .unwrap()                    }                    _ => {}                })                .unwrap();            });            Ok(())        })        .run(tauri::generate_context!())        .expect("error while running tauri application");}

I don't know if it's the rdev crate, or making the app always top top..It's blurry and I don't think i have the experience to figure this out myself.

thanks for help in advance.


Viewing all articles
Browse latest Browse all 7069

Trending Articles