Thanks for the great work you do on Electron. 🙏We love using Electron.

I'm setting up a MenuItem with an "accelerators" (keyboard shortcuts). I'm specifying the [`click` option](https://electronjs.org/docs/api/menu-item#new-menuitemoptions) to provide custom handling. In my analytics, I'd like to report the method the user used to trigger the MenuItem—mouse click or keyboard shortcut.

The `click` function I provide is called with these arguments: `(menuItem, browserWindow, event)`. The value of `event` is `{ shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }`. For accelerators that happen to include one of the keys in `event`, I'm able to derive that the user hit the keyboard shortcut (i.e. if the user hits the keyboard shortcut for `Command-C`, `event` will contain `metaKey: true`.

But some of my keyboard shortcuts are: `Up`, `Down`, `Enter`. If the user hits these keyboard shortcuts, I have no way to differentiate whether the user clicked the menu item with the mouse or hit the keyboard shortcut.

Is there a reliable way to differentiate mouse clicks vs. keyboard shortcut hits in a MenuItem?
atom/browser/api/event_emitter.cc
#include "atom/browser/api/event_emitter.h"
#include "atom/browser/api/event.h"
#include "content/public/browser/render_frame_host.h"
#include "native_mate/arguments.h"
#include "native_mate/dictionary.h"
#include "native_mate/object_template_builder.h"
#include "ui/events/event_constants.h"
#include "atom/common/node_includes.h"
namespace mate {
namespace {
v8::Persistent<v8::ObjectTemplate> event_template;
void PreventDefault(mate::Arguments* args) {