[java-atk-wrapper] Add support for alt graph modifier
- From: Samuel Thibault <sthibaul src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [java-atk-wrapper] Add support for alt graph modifier
- Date: Sat, 27 Jul 2019 21:06:10 +0000 (UTC)
commit 6e505a1ecbacef6e0cb083dab6b972dca58fc1ad
Author: Samuel Thibault <samuel thibault ens-lyon org>
Date: Sat Jul 27 23:05:58 2019 +0200
Add support for alt graph modifier
jni/src/AtkWrapper.c | 8 ++++++++
wrapper/org/GNOME/Accessibility/AtkKeyEvent.java | 4 ++++
2 files changed, 12 insertions(+)
---
diff --git a/jni/src/AtkWrapper.c b/jni/src/AtkWrapper.c
index 18a0fad..f6c5342 100644
--- a/jni/src/AtkWrapper.c
+++ b/jni/src/AtkWrapper.c
@@ -44,6 +44,7 @@ extern "C" {
#define GDK_SHIFT_MASK (1 << 0)
#define GDK_CONTROL_MASK (1 << 2)
#define GDK_MOD1_MASK (1 << 3)
+#define GDK_MOD5_MASK (1 << 7)
#define GDK_META_MASK (1 << 28)
typedef enum _SignalType SignalType;
@@ -1152,6 +1153,13 @@ key_dispatch_handler (gpointer p)
event->state |= GDK_META_MASK;
}
+ jfieldID jfidAltGr = (*jniEnv)->GetFieldID(jniEnv, classAtkKeyEvent, "isAltGrKeyDown", "Z");
+ jboolean jAltGrKeyDown = (*jniEnv)->GetBooleanField(jniEnv, jAtkKeyEvent, jfidAltGr);
+ if (jAltGrKeyDown)
+ {
+ event->state |= GDK_MOD5_MASK;
+ }
+
// keyval
jfieldID jfidKeyval = (*jniEnv)->GetFieldID(jniEnv, classAtkKeyEvent, "keyval", "I");
jint jkeyval = (*jniEnv)->GetIntField(jniEnv, jAtkKeyEvent, jfidKeyval);
diff --git a/wrapper/org/GNOME/Accessibility/AtkKeyEvent.java
b/wrapper/org/GNOME/Accessibility/AtkKeyEvent.java
index edf28ec..3cb66c1 100644
--- a/wrapper/org/GNOME/Accessibility/AtkKeyEvent.java
+++ b/wrapper/org/GNOME/Accessibility/AtkKeyEvent.java
@@ -34,6 +34,7 @@ public class AtkKeyEvent {
public boolean isCtrlKeyDown = false;
public boolean isAltKeyDown = false;
public boolean isMetaKeyDown = false;
+ public boolean isAltGrKeyDown = false;
public int keyval = 0;
public String string;
public int keycode;
@@ -104,6 +105,9 @@ public class AtkKeyEvent {
if ((modifierMask & InputEvent.META_DOWN_MASK) != 0) {
isMetaKeyDown = true;
}
+ if ((modifierMask & InputEvent.ALT_GRAPH_DOWN_MASK) != 0) {
+ isAltGrKeyDown = true;
+ }
GNOMEKeyMapping.GNOMEKeyInfo keyInfo = GNOMEKeyMapping.getKey(e);
switch (e.getKeyChar()) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]