Я пытаюсь изменить части документа Google, пока пользователь печатает.
В частности, я хочу добавить функцию для отступа в несколько строк текста. Это означает, что когда пользователь выбирает несколько строк текста, а затем нажимает клавишу «Tab», он должен иметь отступ для всех этих строк
. Чтобы сделать это, я думаю, что я должен получить текущий код ключа любого пользователя набрав, в дополнение к чтению выбора с помощью:
var doc = DocumentApp.getActiveDocument().getCursor();
var els = doc.getElement(),
txt = els.asText().getText()
, который у меня уже работает. Но проблема:
на моей стороне клиента, когда я делаю:
window.addEventListener("keyup", function(e) {
console.log(e.keyCode);
})
, которая активируется только тогда, когда пользователь выбрал боковую панель, но не когда пользователь вводит в самом документе Google сам .
Я понимаю, почему это так, поскольку приложение запускается в iframe внутри iframe, но все же я подумал, что может быть способ каким-то образом получить нажатую клавишу или хотя бы каким-то образом определить, пытался ли пользователь нажимать клавишу табуляции или нет.
Итак: есть ли способ определить, нажал ли пользователь клавишу табуляции, или есть какой-то другой способ легко сделать отступ для нескольких строк с помощью скрипта приложений Google? Желательно, чтобы пользователь не нажимал кнопку на самом скрипте приложения, но если это единственный способ, пусть так и будет ... но есть ли какой-нибудь возможный способ узнать, какие клавиши были нажаты пользователем в Google Do c сама?