src/Builder4/MainWindow.bjs
authorAlan Knowles <alan@roojs.com>
Thu, 1 Feb 2024 06:45:48 +0000 (14:45 +0800)
committerAlan Knowles <alan@roojs.com>
Thu, 1 Feb 2024 06:45:48 +0000 (14:45 +0800)
src/Builder4/MainWindow.vala

src/Builder4/MainWindow.bjs

index 4bfcd5f..5e3b6bc 100644 (file)
    "default_width" : 1200,
    "id" : "MainWindow",
    "items" : [
+    {
+     "$ xns" : "Gtk",
+     "id" : "keystate",
+     "int is_shift" : 0,
+     "listeners" : {
+      "key_pressed" : [
+       "(keyval, keycode, state) => {",
+       "",
+       " \tif (keyval == Gdk.Key.Shift_L || keyval == Gdk.Key.Shift_R) {",
+       " \t\tthis.is_shift = 1;",
+       "\t}",
+       "\treturn true;",
+       "}",
+       ""
+      ],
+      "key_released" : [
+       "(keyval, keycode, state) => {",
+       "\tGLib.debug(\"key release %d, %d, %d\" , (int) keyval, (int)  keycode, state);",
+       " \tif (keyval == Gdk.Key.Shift_L || keyval == Gdk.Key.Shift_R) {",
+       " \t\tthis.is_shift = 0;",
+       "\t}",
+       "\t//GLib.debug(\"set state %d , shift = %d\", (int)this.el.get_current_event_state(), Gdk.ModifierType.SHIFT_MASK);",
+       "",
+       "",
+       " ",
+       "}"
+      ]
+     },
+     "xtype" : "EventControllerKey"
+    },
     {
      "$ xns" : "Gtk",
      "* pack" : "set_titlebar",