Browse Source

feat: show user gesture type in click event (#16954)

Shelley Vohr 6 years ago
parent
commit
3edc497d3d

+ 1 - 0
atom/browser/api/event_emitter.cc

@@ -79,6 +79,7 @@ v8::Local<v8::Object> CreateEventFromFlags(v8::Isolate* isolate, int flags) {
   obj.Set("ctrlKey", static_cast<bool>(flags & ui::EF_CONTROL_DOWN));
   obj.Set("altKey", static_cast<bool>(flags & ui::EF_ALT_DOWN));
   obj.Set("metaKey", static_cast<bool>(flags & ui::EF_COMMAND_DOWN));
+  obj.Set("triggeredByAccelerator", static_cast<bool>(flags));
   return obj.GetHandle();
 }
 

+ 1 - 0
docs/api/structures/keyboard-event.md

@@ -4,3 +4,4 @@
 * `metaKey` Boolean (optional) - whether a meta key was used in an accelerator to trigger the Event
 * `shiftKey` Boolean (optional) - whether a Shift key was used in an accelerator to trigger the Event
 * `altKey` Boolean (optional) - whether an Alt key was used in an accelerator to trigger the Event
+* `triggeredByAccelerator` Boolean (optional) - whether an accelerator was used to trigger the event as opposed to another user gesture like mouse click

+ 1 - 1
lib/browser/api/menu.js

@@ -31,7 +31,7 @@ const delegate = {
     command.click(event, TopLevelWindow.getFocusedWindow(), webContents.getFocusedWebContents())
   },
   menuWillShow: (menu) => {
-    // Ensure radio groups have at least one menu item seleted
+    // Ensure radio groups have at least one menu item selected
     for (const id in menu.groupsMap) {
       const found = menu.groupsMap[id].find(item => item.checked) || null
       if (!found) v8Util.setHiddenValue(menu.groupsMap[id][0], 'checked', true)