eek-gtk-keyboard: Trigger event feedback on button press
Use libfeedback to trigger feedback for the button press event. Closes: #166
This commit is contained in:
		@ -52,6 +52,14 @@ pub mod c {
 | 
			
		||||
    #[derive(Copy, Clone)]
 | 
			
		||||
    pub struct EekGtkKeyboard(pub *const gtk_sys::GtkWidget);
 | 
			
		||||
 | 
			
		||||
    #[no_mangle]
 | 
			
		||||
    extern "C" {
 | 
			
		||||
        #[allow(improper_ctypes)]
 | 
			
		||||
        pub fn eek_gtk_keyboard_emit_feedback(
 | 
			
		||||
            keyboard: EekGtkKeyboard,
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// Defined in eek-types.h
 | 
			
		||||
    #[repr(C)]
 | 
			
		||||
    #[derive(Clone, Debug, PartialEq)]
 | 
			
		||||
@ -341,6 +349,9 @@ pub mod c {
 | 
			
		||||
                );
 | 
			
		||||
                // maybe TODO: draw on the display buffer here
 | 
			
		||||
                drawing::queue_redraw(ui_keyboard);
 | 
			
		||||
                unsafe {
 | 
			
		||||
                    eek_gtk_keyboard_emit_feedback(ui_keyboard);
 | 
			
		||||
                }
 | 
			
		||||
            };
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -404,6 +415,9 @@ pub mod c {
 | 
			
		||||
                        &state,
 | 
			
		||||
                    );
 | 
			
		||||
                    // maybe TODO: draw on the display buffer here
 | 
			
		||||
                    unsafe {
 | 
			
		||||
                        eek_gtk_keyboard_emit_feedback(ui_keyboard);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            } else {
 | 
			
		||||
                for wrapped_key in pressed {
 | 
			
		||||
 | 
			
		||||
@ -38,6 +38,7 @@ deps = [
 | 
			
		||||
  dependency('gio-2.0', version: '>=2.26.0'),
 | 
			
		||||
  dependency('gnome-desktop-3.0', version: '>=3.0'),
 | 
			
		||||
  dependency('gtk+-3.0', version: '>=3.0'),
 | 
			
		||||
  dependency('libfeedback-0.0'),
 | 
			
		||||
  dependency('wayland-client', version: '>=1.14'),
 | 
			
		||||
  dependency('xkbcommon'),
 | 
			
		||||
  cc.find_library('m'),
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user