[caribou] Implement Caribou_Repeat
- From: Eitan Isaacson <eitani src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [caribou] Implement Caribou_Repeat
- Date: Wed, 1 Jun 2011 19:49:06 +0000 (UTC)
commit 73c6ac5d81e607a88c1bad2fd20b4085571c77cd
Author: Eitan Isaacson <eitan monotonous org>
Date: Tue May 31 13:29:07 2011 -0700
Implement Caribou_Repeat
libcaribou/key-model.vala | 11 +++++++----
libcaribou/keyboard-model.vala | 10 ++++++++--
2 files changed, 15 insertions(+), 6 deletions(-)
---
diff --git a/libcaribou/key-model.vala b/libcaribou/key-model.vala
index e989f34..32ed771 100644
--- a/libcaribou/key-model.vala
+++ b/libcaribou/key-model.vala
@@ -19,10 +19,8 @@ namespace Caribou {
internal set {
_scan_selected = value;
- if (_scan_selected) {
- press ();
- GLib.Timeout.add(200, () => { release (); return false; });
- }
+ if (_scan_selected)
+ activate ();
}
}
@@ -95,5 +93,10 @@ namespace Caribou {
public IKeyboardObject[] get_children () {
return (IKeyboardObject[]) extended_keys.to_array ();
}
+
+ public void activate () {
+ press ();
+ GLib.Timeout.add(100, () => { release (); return false; });
+ }
}
}
\ No newline at end of file
diff --git a/libcaribou/keyboard-model.vala b/libcaribou/keyboard-model.vala
index 9fca05d..e34a3a3 100644
--- a/libcaribou/keyboard-model.vala
+++ b/libcaribou/keyboard-model.vala
@@ -5,8 +5,9 @@ namespace Caribou {
public string active_group { get; private set; default = ""; }
public string keyboard_type { get; construct; }
- XAdapter xadapter;
- Gee.HashMap<string, GroupModel> groups;
+ private XAdapter xadapter;
+ private Gee.HashMap<string, GroupModel> groups;
+ private KeyModel last_activated_key;
construct {
uint grpid;
@@ -40,6 +41,11 @@ namespace Caribou {
}
private void on_key_activated (KeyModel key) {
+ if (key.name == "Caribou_Repeat")
+ last_activated_key.activate ();
+ else
+ last_activated_key = key;
+
key_activated (key);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]