keystate: Use keycode
This commit is contained in:
@ -38,7 +38,6 @@
|
|||||||
|
|
||||||
enum {
|
enum {
|
||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_KEYCODE,
|
|
||||||
PROP_OREF,
|
PROP_OREF,
|
||||||
PROP_LAST
|
PROP_LAST
|
||||||
};
|
};
|
||||||
@ -53,7 +52,6 @@ static guint signals[LAST_SIGNAL] = { 0, };
|
|||||||
|
|
||||||
typedef struct _EekKeyPrivate
|
typedef struct _EekKeyPrivate
|
||||||
{
|
{
|
||||||
guint keycode;
|
|
||||||
gulong oref; // UI outline reference
|
gulong oref; // UI outline reference
|
||||||
struct squeek_key *state;
|
struct squeek_key *state;
|
||||||
gboolean is_locked;
|
gboolean is_locked;
|
||||||
@ -101,9 +99,6 @@ eek_key_set_property (GObject *object,
|
|||||||
GParamSpec *pspec)
|
GParamSpec *pspec)
|
||||||
{
|
{
|
||||||
switch (prop_id) {
|
switch (prop_id) {
|
||||||
case PROP_KEYCODE:
|
|
||||||
eek_key_set_keycode (EEK_KEY(object), g_value_get_uint (value));
|
|
||||||
break;
|
|
||||||
case PROP_OREF:
|
case PROP_OREF:
|
||||||
eek_key_set_oref (EEK_KEY(object), g_value_get_uint (value));
|
eek_key_set_oref (EEK_KEY(object), g_value_get_uint (value));
|
||||||
break;
|
break;
|
||||||
@ -120,9 +115,6 @@ eek_key_get_property (GObject *object,
|
|||||||
GParamSpec *pspec)
|
GParamSpec *pspec)
|
||||||
{
|
{
|
||||||
switch (prop_id) {
|
switch (prop_id) {
|
||||||
case PROP_KEYCODE:
|
|
||||||
g_value_set_uint (value, eek_key_get_keycode (EEK_KEY(object)));
|
|
||||||
break;
|
|
||||||
case PROP_OREF:
|
case PROP_OREF:
|
||||||
g_value_set_uint (value, eek_key_get_oref (EEK_KEY(object)));
|
g_value_set_uint (value, eek_key_get_oref (EEK_KEY(object)));
|
||||||
break;
|
break;
|
||||||
@ -146,18 +138,6 @@ eek_key_class_init (EekKeyClass *klass)
|
|||||||
klass->locked = eek_key_real_locked;
|
klass->locked = eek_key_real_locked;
|
||||||
klass->unlocked = eek_key_real_unlocked;
|
klass->unlocked = eek_key_real_unlocked;
|
||||||
|
|
||||||
/**
|
|
||||||
* EekKey:keycode:
|
|
||||||
*
|
|
||||||
* The keycode of #EekKey.
|
|
||||||
*/
|
|
||||||
pspec = g_param_spec_uint ("keycode",
|
|
||||||
"Keycode",
|
|
||||||
"Keycode of the key",
|
|
||||||
0, G_MAXUINT, 0,
|
|
||||||
G_PARAM_READWRITE);
|
|
||||||
g_object_class_install_property (gobject_class, PROP_KEYCODE, pspec);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* EekKey:oref:
|
* EekKey:oref:
|
||||||
*
|
*
|
||||||
@ -233,7 +213,7 @@ eek_key_set_keycode (EekKey *key,
|
|||||||
|
|
||||||
EekKeyPrivate *priv = eek_key_get_instance_private (key);
|
EekKeyPrivate *priv = eek_key_get_instance_private (key);
|
||||||
|
|
||||||
priv->keycode = keycode;
|
squeek_key_set_keycode(priv->state, keycode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -250,7 +230,7 @@ eek_key_get_keycode (EekKey *key)
|
|||||||
|
|
||||||
EekKeyPrivate *priv = eek_key_get_instance_private (key);
|
EekKeyPrivate *priv = eek_key_get_instance_private (key);
|
||||||
|
|
||||||
return priv->keycode;
|
return squeek_key_get_keycode(priv->state);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -130,8 +130,8 @@ eek_section_real_create_key (EekSection *self,
|
|||||||
|
|
||||||
EekKey *key = (EekKey*)g_object_new (EEK_TYPE_KEY,
|
EekKey *key = (EekKey*)g_object_new (EEK_TYPE_KEY,
|
||||||
"name", name,
|
"name", name,
|
||||||
"keycode", keycode,
|
|
||||||
NULL);
|
NULL);
|
||||||
|
eek_key_set_keycode(key, keycode);
|
||||||
g_return_val_if_fail (key, NULL);
|
g_return_val_if_fail (key, NULL);
|
||||||
|
|
||||||
EEK_CONTAINER_GET_CLASS(self)->add_child (EEK_CONTAINER(self),
|
EEK_CONTAINER_GET_CLASS(self)->add_child (EEK_CONTAINER(self),
|
||||||
|
|||||||
@ -15,5 +15,8 @@ void squeek_key_add_symbol(struct squeek_key* key,
|
|||||||
const char *tooltip);
|
const char *tooltip);
|
||||||
uint32_t squeek_key_is_pressed(struct squeek_key *key);
|
uint32_t squeek_key_is_pressed(struct squeek_key *key);
|
||||||
void squeek_key_set_pressed(struct squeek_key *key, uint32_t pressed);
|
void squeek_key_set_pressed(struct squeek_key *key, uint32_t pressed);
|
||||||
|
uint32_t squeek_key_get_keycode(struct squeek_key *key);
|
||||||
|
void squeek_key_set_keycode(struct squeek_key *key, uint32_t keycode);
|
||||||
|
|
||||||
struct squeek_symbol *squeek_key_get_symbol(struct squeek_key* key, uint32_t level);
|
struct squeek_symbol *squeek_key_get_symbol(struct squeek_key* key, uint32_t level);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -41,7 +41,7 @@ pub mod c {
|
|||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub extern "C"
|
pub extern "C"
|
||||||
fn squeek_key_is_pressed(key: *const KeyState) -> u32{
|
fn squeek_key_is_pressed(key: *const KeyState) -> u32 {
|
||||||
let key = unsafe { &*key };
|
let key = unsafe { &*key };
|
||||||
return key.pressed as u32;
|
return key.pressed as u32;
|
||||||
}
|
}
|
||||||
@ -53,6 +53,20 @@ pub mod c {
|
|||||||
key.pressed = pressed != 0;
|
key.pressed = pressed != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[no_mangle]
|
||||||
|
pub extern "C"
|
||||||
|
fn squeek_key_get_keycode(key: *const KeyState) -> u32 {
|
||||||
|
let key = unsafe { &*key };
|
||||||
|
return key.keycode as u32;
|
||||||
|
}
|
||||||
|
|
||||||
|
#[no_mangle]
|
||||||
|
pub extern "C"
|
||||||
|
fn squeek_key_set_keycode(key: *mut KeyState, code: u32) {
|
||||||
|
let key = unsafe { &mut *key };
|
||||||
|
key.keycode = code;
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: this will receive data from the filesystem,
|
// TODO: this will receive data from the filesystem,
|
||||||
// so it should handle garbled strings in the future
|
// so it should handle garbled strings in the future
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
|
|||||||
Reference in New Issue
Block a user