In order to do that, an additional piece of state (layout switcher) was exposed to the event handlers, a separation between squeekboard-only and system layouts was introduced, along with a Translation structure to prevent mixing up strings.
		
			
				
	
	
		
			37 lines
		
	
	
		
			606 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			606 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
#[macro_use]
 | 
						|
extern crate bitflags;
 | 
						|
extern crate cairo;
 | 
						|
extern crate cairo_sys;
 | 
						|
extern crate gdk;
 | 
						|
extern crate gio;
 | 
						|
extern crate glib;
 | 
						|
extern crate glib_sys;
 | 
						|
extern crate gtk;
 | 
						|
extern crate gtk_sys;
 | 
						|
#[allow(unused_imports)]
 | 
						|
#[macro_use] // only for tests
 | 
						|
extern crate maplit;
 | 
						|
extern crate regex;
 | 
						|
extern crate serde;
 | 
						|
extern crate xkbcommon;
 | 
						|
 | 
						|
mod action;
 | 
						|
pub mod data;
 | 
						|
mod drawing;
 | 
						|
pub mod float_ord;
 | 
						|
pub mod imservice;
 | 
						|
mod keyboard;
 | 
						|
mod layout;
 | 
						|
mod locale;
 | 
						|
mod locale_config;
 | 
						|
mod logging;
 | 
						|
mod manager;
 | 
						|
mod outputs;
 | 
						|
mod popover;
 | 
						|
mod resources;
 | 
						|
mod submission;
 | 
						|
mod style;
 | 
						|
pub mod tests;
 | 
						|
pub mod util;
 | 
						|
mod xdg;
 |