Add alt_gr key support, need some review
Created by: meven
What's in it :
- support for the Alt_gr key for keymaps (currenty only used for the bepo keymap)
- spilt of handle function in handle_keyboard and handle_mouse for clarity, and avoid a long function.
This could be merged but it exposes a current issue : the lack of modifier in orbclient::KeyEvent.
This causes orbital to grab any alt keypress without differentiating between Alt and Alt_gr (in orbital::OrbitalScheme key_event). That's why I put an ugly return ;
at line 133.
So I would like to open a discussion about revamping orbclient::KeyEvent, before moving forward.
My sense would be to add a modifier field of some sort in orbclient::KeyEvent.
#[derive(Copy, Clone, Debug)]
pub struct KeyEvent {
/// The charecter of the key
pub character: char,
/// The scancode of the key
pub scancode: u8,
/// Was it pressed?
pub pressed: bool,
}
A possible example could be like qt does using a bitflag: http://doc.qt.io/qt-5/qt.html#KeyboardModifier-enum
Please comment
Edited by Ribbon