MCPcopy Create free account
hub / github.com/PenguLoader/PenguLoader / DevToolsKeyboardHandler

Class DevToolsKeyboardHandler

core/src/browser/devtools.cc:75–147  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

73};
74
75struct DevToolsKeyboardHandler : CefRefCount<cef_keyboard_handler_t>
76{
77 DevToolsKeyboardHandler() : CefRefCount(this)
78 {
79 cef_bind_method(DevToolsKeyboardHandler, on_pre_key_event);
80 }
81
82 int _on_pre_key_event(
83 struct _cef_browser_t* browser,
84 const struct _cef_key_event_t* event,
85 cef_event_handle_t os_event,
86 int* is_keyboard_shortcut)
87 {
88#if OS_MAC
89 if (event->modifiers & EVENTFLAG_COMMAND_DOWN)
90#else
91 if (event->modifiers & EVENTFLAG_CONTROL_DOWN)
92#endif
93 {
94 cef_browser_host_t *host = nullptr;
95
96 if (event->windows_key_code == VK_OEM_PLUS)
97 {
98 host = browser->get_host(browser);
99 host->set_zoom_level(host,
100 host->get_zoom_level(host) + 0.1);
101 }
102 else if (event->windows_key_code == VK_OEM_MINUS)
103 {
104 host = browser->get_host(browser);
105 host->set_zoom_level(host,
106 host->get_zoom_level(host) - 0.1);
107 }
108 else if (event->windows_key_code == '0')
109 {
110 host = browser->get_host(browser);
111 host->set_zoom_level(host,
112 window::get_scaling(host->get_window_handle(host)) - 1.0);
113 }
114#if OS_MAC // Fix cut-copy-paste key bindings on macOS
115 else if (event->windows_key_code == 'C' && event->focus_on_editable_field)
116 {
117 auto frame = browser->get_main_frame(browser);
118 frame->copy(frame);
119 frame->base.release(&frame->base);
120 return true;
121 }
122 else if (event->windows_key_code == 'V' && event->focus_on_editable_field)
123 {
124 auto frame = browser->get_main_frame(browser);
125 frame->paste(frame);
126 frame->base.release(&frame->base);
127 return true;
128 }
129 else if (event->windows_key_code == 'X' && event->focus_on_editable_field)
130 {
131 auto frame = browser->get_main_frame(browser);
132 frame->cut(frame);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected