diff options
Diffstat (limited to 'android/source/src/java/org/libreoffice/LOKitInputConnectionHandler.java')
-rw-r--r-- | android/source/src/java/org/libreoffice/LOKitInputConnectionHandler.java | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/android/source/src/java/org/libreoffice/LOKitInputConnectionHandler.java b/android/source/src/java/org/libreoffice/LOKitInputConnectionHandler.java new file mode 100644 index 000000000..7b50ef5ff --- /dev/null +++ b/android/source/src/java/org/libreoffice/LOKitInputConnectionHandler.java @@ -0,0 +1,74 @@ +/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +package org.libreoffice; + +import android.view.KeyEvent; +import android.view.inputmethod.EditorInfo; +import android.view.inputmethod.InputConnection; + +import org.mozilla.gecko.gfx.InputConnectionHandler; + +/** + * Implementation of InputConnectionHandler. When a key event happens it is + * directed to this class which is then directed further to LOKitThread. + */ +public class LOKitInputConnectionHandler implements InputConnectionHandler { + private static final String LOGTAG = LOKitInputConnectionHandler.class.getSimpleName(); + + @Override + public InputConnection onCreateInputConnection(EditorInfo outAttrs) { + return null; + } + + /** + * When key pre-Ime happens. + */ + @Override + public boolean onKeyPreIme(int keyCode, KeyEvent event) { + return false; + } + + /** + * When key down event happens. + */ + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + LOKitShell.sendKeyEvent(event); + return false; + } + + /** + * When key long press event happens. + */ + @Override + public boolean onKeyLongPress(int keyCode, KeyEvent event) { + return false; + } + + /** + * When key multiple event happens. Key multiple event is triggered when + * non-ascii characters are entered on soft keyboard. + */ + @Override + public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) { + LOKitShell.sendKeyEvent(event); + return false; + } + + /** + * When key up event happens. + */ + @Override + public boolean onKeyUp(int keyCode, KeyEvent event) { + LOKitShell.sendKeyEvent(event); + return false; + } +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |