Description: The iOS-App lacks support for a number of hardware keys and shortcuts: * Cursor-Keys (Left, Up, Down, Right) to move the cursor in the document * Tab to insert tab characters * Caps Lock to switch between lower/uppercase * "cmd" to use "cmd+c", "cmd+v", "cmd+x", etc. to copy/paste text * Shift + Cursor-Key to select/mark text Steps to Reproduce: Open a new document and use the iPad hardware keys mentioned in the bug description Actual Results: The keys from the bug description do not trigger any actions Expected Results: The keys from the bug description trigger the appropriate actions Reproducible: Always User Profile Reset: No Additional Info:
I'm afraid it's not our bug. It seems to be a bug in WebKit on iOS, those keypresses don't generate events. See also: https://bugs.webkit.org/show_bug.cgi?id=149054
Note that some of the keys mentioned in the list do work. Caps Lock works, and Cmd+V does work now since a week or so, commit 10ff9c1a65a7e333d3aa6f2811d1480fa53fe75e on May 21.
At least part of the problem seems to be that loleaflet uses a HTML text input field that it gives the focus to enable the on-screen keyboard, even of there iOS a hardware keyboard (and no on-screen keyboard will pop up). The cursor keys are then handled inside that text input field (even if the field does not have any contents) and not passed on as JavaScript events. If the text input field does not have focus, the cursor keys arrive as keyboard events with key property "ArrowDown", "ArrowLeft" etc. Here is a useful tiny test HTML page I use to experiment with: > <html> > <head> > <title> > Title > </title> > > <script> > var keyeventhandler = function(e) { > console.log(e.type + ' "' + e.key + '" ' + e.keyCode + ' ' + e.charCode); > if (e.type === 'keydown' && e.key === 'f') > window['inputfield'].focus(); > else if (e.type === 'keydown' && e.key === 'b') > window['inputfield'].blur(); > } > > var textinputeventhandler = function(e) { > console.log('textInput: "' + e.data + '"'); > } > > var inputeventhandler = function(e) { > console.log(e.inputType); > } > > var compeventhandler = function(e) { > console.log(e.type + ' "' + e.data + '"'); > } > > var clipboardeventhandler = function(e) { > console.log(e.type); > } > > window.addEventListener('keydown', keyeventhandler); > window.addEventListener('keypress', keyeventhandler); > window.addEventListener('keyup', keyeventhandler); > > window.addEventListener('textInput', textinputeventhandler); > > window.addEventListener('input', inputeventhandler); > > window.addEventListener('compositionstart', compeventhandler); > window.addEventListener('compositionupdate', compeventhandler); > window.addEventListener('compositionend', compeventhandler); > > window.addEventListener('copy', clipboardeventhandler); > window.addEventListener('paste', clipboardeventhandler); > > </script> > > </head> > <body> > Body. > <input id="inputfield" type="text"> > </body> > </html>
The situation is way better in iOS 13, for example the cursor keys work out of the box now. We however need to make sure, that common keyboard shortcuts work - right now, they don't. I'm not an Apple/iOS user but would expect the following shortcuts to work. This should be ready before iOS 13 will be released (Sept. 17 2019). * cmd + c (copy text) * cmd + v (paste text) * cmd + x (cut text) * cmd + z (undo) * shift + cmd + z (redo) * shift + cursor (select text) * cmd + b (change style to bold) * cmd + i (change style to italic) * cmd + u (change sytle to underline) * cmd + f (find) * cmd + g (navigate to next found element) * shift + cmd + g (navigate to previous found element) * cmd + k (edit/insert hyperlink)
I tested the shortcuts with 4.2.20 an most of the listed shortcuts now work \o/ The following ones seem not to work - but are not that important (IMHO): * shift + cmd + z (redo) * cmd + f (find) * cmd + g (navigate to next found element) * shift + cmd + g (navigate to previous found element) Maybe check for "cmd + f" and then close this issue as fixed? @Tor: what do you think?
Hi I just joined to Bugzilla because of the limited external keyboard support inside the iOS Collabora App version 4.2.11-1 running under iOS 14.2 on iPad Pro 12.9“ 2020 using the Apple Smartfolio Keyboard in german layout. Inside my environment it is still impossible to - Positioning the cursor using the arrow-keys - Marking of text using shift + arrow-keyes - Textformating Bold using cmd + b - Textformating Italic using cmd + i - Textformating Underline using cmd + u Discussed but working keyboard commands are + tab = insert tab characters + cmd + c = copy + cmd + x = cut + cmd + v = paste + cmd + z = Undo It would be great there is stil work on this case and there will be a fix in the future. The usage of the App is quite limited on an iPad without external keyboard support.
Try the latest 6.4.0 TestFlight builds from https://testflight.apple.com/join/TEnBWi68 .
iOS 14.4.1 Collabora Office 6.4.7 External Bluetooth Keyboard Retested all shortcuts with current iOS and LO version. Results: Non-functional keyboard shortcuts: - cmd+a - cmd+c - cmd+v - marked text + cmd+b (bold) - marked text + cmd+i (italic) - marked text + cmd+i (underline) - shift+cmd+z (redo) - cmd+f (find) - cmd + g (navigate to next found element) - shift + cmd + g (navigate to previous found element) Fixed since initial report: - cursor-keys to move in document - tab: does move text to the right one tab space - caps lock: switching works as expected - Shift + Cursor key to mark text Remaining non-functional keyboard shortcuts are covered in follow-up bug: https://bugs.documentfoundation.org/show_bug.cgi?id=141217