diff --git a/addons/web_editor/static/lib/odoo-editor/src/OdooEditor.js b/addons/web_editor/static/lib/odoo-editor/src/OdooEditor.js index d8ebf330aa0..8d355df6926 100644 --- a/addons/web_editor/static/lib/odoo-editor/src/OdooEditor.js +++ b/addons/web_editor/static/lib/odoo-editor/src/OdooEditor.js @@ -70,6 +70,8 @@ const KEYBOARD_TYPES = { VIRTUAL: 'VIRTUAL', PHYSICAL: 'PHYSICAL', UNKNOWN: 'UKN const IS_KEYBOARD_EVENT_UNDO = ev => ev.key === 'z' && (ev.ctrlKey || ev.metaKey); const IS_KEYBOARD_EVENT_REDO = ev => ev.key === 'y' && (ev.ctrlKey || ev.metaKey); const IS_KEYBOARD_EVENT_BOLD = ev => ev.key === 'b' && (ev.ctrlKey || ev.metaKey); +const IS_KEYBOARD_EVENT_ITALIC = ev => ev.key === 'i' && (ev.ctrlKey || ev.metaKey); +const IS_KEYBOARD_EVENT_UNDERLINE = ev => ev.key === 'u' && (ev.ctrlKey || ev.metaKey); const IS_KEYBOARD_EVENT_STRIKETHROUGH = ev => ev.key === '5' && (ev.ctrlKey || ev.metaKey); const CLIPBOARD_BLACKLISTS = { @@ -2362,6 +2364,16 @@ export class OdooEditor extends EventTarget { ev.preventDefault(); ev.stopPropagation(); this.execCommand('bold'); + } else if (IS_KEYBOARD_EVENT_ITALIC(ev)) { + // Ctrl-I + ev.preventDefault(); + ev.stopPropagation(); + this.execCommand('italic'); + } else if (IS_KEYBOARD_EVENT_UNDERLINE(ev)) { + // Ctrl-U + ev.preventDefault(); + ev.stopPropagation(); + this.execCommand('underline'); } else if (IS_KEYBOARD_EVENT_STRIKETHROUGH(ev)) { // Ctrl-5 / Ctrl-shift-( ev.preventDefault();