mirror of
				https://github.com/SimpleMobileTools/Simple-Keyboard.git
				synced 2025-06-05 21:49:26 +02:00 
			
		
		
		
	Merge pull request #188 from Merkost/talkback_improvements
Talkback improvements
This commit is contained in:
		| @@ -0,0 +1,69 @@ | |||||||
|  | package com.simplemobiletools.keyboard.helpers | ||||||
|  |  | ||||||
|  | import android.graphics.Rect | ||||||
|  | import android.os.Bundle | ||||||
|  | import androidx.core.view.accessibility.AccessibilityNodeInfoCompat | ||||||
|  | import androidx.customview.widget.ExploreByTouchHelper | ||||||
|  | import com.simplemobiletools.keyboard.views.MyKeyboardView | ||||||
|  |  | ||||||
|  | class AccessHelper( | ||||||
|  |     private val keyboardView: MyKeyboardView, | ||||||
|  |     private val keys: List<MyKeyboard.Key> | ||||||
|  | ) : ExploreByTouchHelper(keyboardView) { | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * We need to populate the list with the IDs of all of the visible virtual views (the intervals in the chart). | ||||||
|  |      * In our case, all keys are always visible, so we’ll return a list of all IDs. | ||||||
|  |      */ | ||||||
|  |     override fun getVisibleVirtualViews(virtualViewIds: MutableList<Int>) { | ||||||
|  |         val keysSize = keys.size | ||||||
|  |         for (i in 0 until keysSize) { | ||||||
|  |             virtualViewIds.add(i) | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * For this function, we need to return the ID of the virtual view that’s under the x, y position, | ||||||
|  |      * or ExploreByTouchHelper.HOST_ID if there’s no item at those coordinates. | ||||||
|  |      */ | ||||||
|  |     override fun getVirtualViewAt(x: Float, y: Float): Int { | ||||||
|  |         val rects = keys.map { | ||||||
|  |             Rect(it.x, it.y, it.x + it.width, it.y + it.height) | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         return rects.firstOrNull { it.contains(x.toInt(), y.toInt()) }?.let { exactRect -> | ||||||
|  |             rects.indexOf(exactRect) | ||||||
|  |         } ?: HOST_ID | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * This is where we provide all the metadata for our virtual view. | ||||||
|  |      * We need to set the content description (or text, if it’s presented visually) and set the bounds in parent. | ||||||
|  |      */ | ||||||
|  |     override fun onPopulateNodeForVirtualView(virtualViewId: Int, node: AccessibilityNodeInfoCompat) { | ||||||
|  |         node.className = keyboardView::class.simpleName | ||||||
|  |         val key = keys.getOrNull(virtualViewId) | ||||||
|  |         node.contentDescription = key?.getContentDescription(keyboardView.context) ?: "" | ||||||
|  |         val bounds = updateBoundsForInterval(virtualViewId) | ||||||
|  |         node.setBoundsInParent(bounds) | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * We need to set the content description (or text, if it’s presented visually) and set the bounds in parent. | ||||||
|  |      * The bounds in the parent should match the logic in the onDraw() function. | ||||||
|  |      */ | ||||||
|  |     private fun updateBoundsForInterval(index: Int): Rect { | ||||||
|  |         val keys = keys | ||||||
|  |         val key = keys.getOrNull(index) ?: return Rect() | ||||||
|  |         return Rect().apply { | ||||||
|  |             left = key.x | ||||||
|  |             top = key.y | ||||||
|  |             right = key.x + key.width | ||||||
|  |             bottom = key.y + key.height | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     override fun onPerformActionForVirtualView(virtualViewId: Int, action: Int, arguments: Bundle?): Boolean { | ||||||
|  |         return false | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -43,7 +43,7 @@ class MyKeyboard { | |||||||
|     var mMinWidth = 0 |     var mMinWidth = 0 | ||||||
|  |  | ||||||
|     /** List of keys in this keyboard  */ |     /** List of keys in this keyboard  */ | ||||||
|     var mKeys: MutableList<Key?>? = null |     var mKeys: MutableList<Key>? = null | ||||||
|  |  | ||||||
|     /** Width of the screen available to fit the keyboard  */ |     /** Width of the screen available to fit the keyboard  */ | ||||||
|     private var mDisplayWidth = 0 |     private var mDisplayWidth = 0 | ||||||
| @@ -225,6 +225,21 @@ class MyKeyboard { | |||||||
|             a.recycle() |             a.recycle() | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         /** | ||||||
|  |          * Content description for talkback functional | ||||||
|  |          */ | ||||||
|  |         fun getContentDescription(context: Context): CharSequence { | ||||||
|  |             return when (code) { | ||||||
|  |                 KEYCODE_SHIFT -> context.getString(R.string.keycode_shift) | ||||||
|  |                 KEYCODE_MODE_CHANGE -> context.getString(R.string.keycode_mode_change) | ||||||
|  |                 KEYCODE_ENTER -> context.getString(R.string.keycode_enter) | ||||||
|  |                 KEYCODE_DELETE -> context.getString(R.string.keycode_delete) | ||||||
|  |                 KEYCODE_SPACE -> context.getString(R.string.keycode_space) | ||||||
|  |                 KEYCODE_EMOJI -> context.getString(R.string.emojis) | ||||||
|  |                 else -> label | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|         /** Create an empty key with no attributes.  */ |         /** Create an empty key with no attributes.  */ | ||||||
|         init { |         init { | ||||||
|             height = parent.defaultHeight |             height = parent.defaultHeight | ||||||
|   | |||||||
| @@ -0,0 +1,41 @@ | |||||||
|  | package com.simplemobiletools.keyboard.interfaces | ||||||
|  |  | ||||||
|  | interface OnKeyboardActionListener { | ||||||
|  |     /** | ||||||
|  |      * Called when the user presses a key. This is sent before the [.onKey] is called. For keys that repeat, this is only called once. | ||||||
|  |      * @param primaryCode the unicode of the key being pressed. If the touch is not on a valid key, the value will be zero. | ||||||
|  |      */ | ||||||
|  |     fun onPress(primaryCode: Int) | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Send a key press to the listener. | ||||||
|  |      * @param code this is the key that was pressed | ||||||
|  |      */ | ||||||
|  |     fun onKey(code: Int) | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Called when the finger has been lifted after pressing a key | ||||||
|  |      */ | ||||||
|  |     fun onActionUp() | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Called when the user long presses Space and moves to the left | ||||||
|  |      */ | ||||||
|  |     fun moveCursorLeft() | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Called when the user long presses Space and moves to the right | ||||||
|  |      */ | ||||||
|  |     fun moveCursorRight() | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Sends a sequence of characters to the listener. | ||||||
|  |      * @param text the string to be displayed. | ||||||
|  |      */ | ||||||
|  |     fun onText(text: String) | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Called to force the KeyboardView to reload the keyboard | ||||||
|  |      */ | ||||||
|  |     fun reloadKeyboard() | ||||||
|  | } | ||||||
| @@ -15,11 +15,12 @@ import com.simplemobiletools.commons.extensions.getSharedPrefs | |||||||
| import com.simplemobiletools.keyboard.R | import com.simplemobiletools.keyboard.R | ||||||
| import com.simplemobiletools.keyboard.extensions.config | import com.simplemobiletools.keyboard.extensions.config | ||||||
| import com.simplemobiletools.keyboard.helpers.* | import com.simplemobiletools.keyboard.helpers.* | ||||||
|  | import com.simplemobiletools.keyboard.interfaces.OnKeyboardActionListener | ||||||
| import com.simplemobiletools.keyboard.views.MyKeyboardView | import com.simplemobiletools.keyboard.views.MyKeyboardView | ||||||
| import kotlinx.android.synthetic.main.keyboard_view_keyboard.view.* | import kotlinx.android.synthetic.main.keyboard_view_keyboard.view.* | ||||||
|  |  | ||||||
| // based on https://www.androidauthority.com/lets-build-custom-keyboard-android-832362/ | // based on https://www.androidauthority.com/lets-build-custom-keyboard-android-832362/ | ||||||
| class SimpleKeyboardIME : InputMethodService(), MyKeyboardView.OnKeyboardActionListener, SharedPreferences.OnSharedPreferenceChangeListener { | class SimpleKeyboardIME : InputMethodService(), OnKeyboardActionListener, SharedPreferences.OnSharedPreferenceChangeListener { | ||||||
|     private var SHIFT_PERM_TOGGLE_SPEED = 500   // how quickly do we have to doubletap shift to enable permanent caps lock |     private var SHIFT_PERM_TOGGLE_SPEED = 500   // how quickly do we have to doubletap shift to enable permanent caps lock | ||||||
|     private val KEYBOARD_LETTERS = 0 |     private val KEYBOARD_LETTERS = 0 | ||||||
|     private val KEYBOARD_SYMBOLS = 1 |     private val KEYBOARD_SYMBOLS = 1 | ||||||
|   | |||||||
| @@ -16,14 +16,13 @@ import android.os.Message | |||||||
| import android.util.AttributeSet | import android.util.AttributeSet | ||||||
| import android.util.TypedValue | import android.util.TypedValue | ||||||
| import android.view.* | import android.view.* | ||||||
| import android.view.accessibility.AccessibilityEvent |  | ||||||
| import android.view.accessibility.AccessibilityManager |  | ||||||
| import android.view.animation.AccelerateInterpolator | import android.view.animation.AccelerateInterpolator | ||||||
| import android.view.inputmethod.EditorInfo | import android.view.inputmethod.EditorInfo | ||||||
| import android.widget.PopupWindow | import android.widget.PopupWindow | ||||||
| import android.widget.TextView | import android.widget.TextView | ||||||
| import androidx.core.animation.doOnEnd | import androidx.core.animation.doOnEnd | ||||||
| import androidx.core.animation.doOnStart | import androidx.core.animation.doOnStart | ||||||
|  | import androidx.core.view.ViewCompat | ||||||
| import androidx.emoji2.text.EmojiCompat | import androidx.emoji2.text.EmojiCompat | ||||||
| import androidx.emoji2.text.EmojiCompat.EMOJI_SUPPORTED | import androidx.emoji2.text.EmojiCompat.EMOJI_SUPPORTED | ||||||
| import com.simplemobiletools.commons.extensions.* | import com.simplemobiletools.commons.extensions.* | ||||||
| @@ -43,6 +42,7 @@ import com.simplemobiletools.keyboard.helpers.MyKeyboard.Companion.KEYCODE_ENTER | |||||||
| import com.simplemobiletools.keyboard.helpers.MyKeyboard.Companion.KEYCODE_MODE_CHANGE | import com.simplemobiletools.keyboard.helpers.MyKeyboard.Companion.KEYCODE_MODE_CHANGE | ||||||
| import com.simplemobiletools.keyboard.helpers.MyKeyboard.Companion.KEYCODE_SHIFT | import com.simplemobiletools.keyboard.helpers.MyKeyboard.Companion.KEYCODE_SHIFT | ||||||
| import com.simplemobiletools.keyboard.helpers.MyKeyboard.Companion.KEYCODE_SPACE | import com.simplemobiletools.keyboard.helpers.MyKeyboard.Companion.KEYCODE_SPACE | ||||||
|  | import com.simplemobiletools.keyboard.interfaces.OnKeyboardActionListener | ||||||
| import com.simplemobiletools.keyboard.interfaces.RefreshClipsListener | import com.simplemobiletools.keyboard.interfaces.RefreshClipsListener | ||||||
| import com.simplemobiletools.keyboard.models.Clip | import com.simplemobiletools.keyboard.models.Clip | ||||||
| import com.simplemobiletools.keyboard.models.ClipsSectionLabel | import com.simplemobiletools.keyboard.models.ClipsSectionLabel | ||||||
| @@ -52,49 +52,18 @@ import kotlinx.android.synthetic.main.keyboard_view_keyboard.view.* | |||||||
| import java.util.* | import java.util.* | ||||||
|  |  | ||||||
| @SuppressLint("UseCompatLoadingForDrawables", "ClickableViewAccessibility") | @SuppressLint("UseCompatLoadingForDrawables", "ClickableViewAccessibility") | ||||||
| class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: AttributeSet?, defStyleRes: Int = 0) : | class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: AttributeSet?, defStyleRes: Int = 0) : View(context, attrs, defStyleRes) { | ||||||
|     View(context, attrs, defStyleRes) { |  | ||||||
|  |  | ||||||
|     interface OnKeyboardActionListener { |     override fun dispatchHoverEvent(event: MotionEvent): Boolean { | ||||||
|         /** |         return if (accessHelper?.dispatchHoverEvent(event) == true) { | ||||||
|          * Called when the user presses a key. This is sent before the [.onKey] is called. For keys that repeat, this is only called once. |             true | ||||||
|          * @param primaryCode the unicode of the key being pressed. If the touch is not on a valid key, the value will be zero. |         } else { | ||||||
|          */ |             super.dispatchHoverEvent(event) | ||||||
|         fun onPress(primaryCode: Int) |         } | ||||||
|  |  | ||||||
|         /** |  | ||||||
|          * Send a key press to the listener. |  | ||||||
|          * @param code this is the key that was pressed |  | ||||||
|          */ |  | ||||||
|         fun onKey(code: Int) |  | ||||||
|  |  | ||||||
|         /** |  | ||||||
|          * Called when the finger has been lifted after pressing a key |  | ||||||
|          */ |  | ||||||
|         fun onActionUp() |  | ||||||
|  |  | ||||||
|         /** |  | ||||||
|          * Called when the user long presses Space and moves to the left |  | ||||||
|          */ |  | ||||||
|         fun moveCursorLeft() |  | ||||||
|  |  | ||||||
|         /** |  | ||||||
|          * Called when the user long presses Space and moves to the right |  | ||||||
|          */ |  | ||||||
|         fun moveCursorRight() |  | ||||||
|  |  | ||||||
|         /** |  | ||||||
|          * Sends a sequence of characters to the listener. |  | ||||||
|          * @param text the string to be displayed. |  | ||||||
|          */ |  | ||||||
|         fun onText(text: String) |  | ||||||
|  |  | ||||||
|         /** |  | ||||||
|          * Called to force the KeyboardView to reload the keyboard |  | ||||||
|          */ |  | ||||||
|         fun reloadKeyboard() |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     private var accessHelper: AccessHelper? = null | ||||||
|  |  | ||||||
|     private var mKeyboard: MyKeyboard? = null |     private var mKeyboard: MyKeyboard? = null | ||||||
|     private var mCurrentKeyIndex: Int = NOT_A_KEY |     private var mCurrentKeyIndex: Int = NOT_A_KEY | ||||||
|  |  | ||||||
| @@ -184,9 +153,6 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut | |||||||
|     /** The canvas for the above mutable keyboard bitmap  */ |     /** The canvas for the above mutable keyboard bitmap  */ | ||||||
|     private var mCanvas: Canvas? = null |     private var mCanvas: Canvas? = null | ||||||
|  |  | ||||||
|     /** The accessibility manager for accessibility support  */ |  | ||||||
|     private val mAccessibilityManager: AccessibilityManager |  | ||||||
|  |  | ||||||
|     private var mHandler: Handler? = null |     private var mHandler: Handler? = null | ||||||
|  |  | ||||||
|     companion object { |     companion object { | ||||||
| @@ -245,7 +211,6 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut | |||||||
|         mPaint.textAlign = Align.CENTER |         mPaint.textAlign = Align.CENTER | ||||||
|         mPaint.alpha = 255 |         mPaint.alpha = 255 | ||||||
|         mMiniKeyboardCache = HashMap() |         mMiniKeyboardCache = HashMap() | ||||||
|         mAccessibilityManager = (context.getSystemService(Context.ACCESSIBILITY_SERVICE) as AccessibilityManager) |  | ||||||
|         mPopupMaxMoveDistance = resources.getDimension(R.dimen.popup_max_move_distance) |         mPopupMaxMoveDistance = resources.getDimension(R.dimen.popup_max_move_distance) | ||||||
|         mTopSmallNumberSize = resources.getDimension(R.dimen.small_text_size) |         mTopSmallNumberSize = resources.getDimension(R.dimen.small_text_size) | ||||||
|         mTopSmallNumberMarginWidth = resources.getDimension(R.dimen.top_small_number_margin_width) |         mTopSmallNumberMarginWidth = resources.getDimension(R.dimen.top_small_number_margin_width) | ||||||
| @@ -301,6 +266,10 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut | |||||||
|         invalidateAllKeys() |         invalidateAllKeys() | ||||||
|         computeProximityThreshold(keyboard) |         computeProximityThreshold(keyboard) | ||||||
|         mMiniKeyboardCache.clear() |         mMiniKeyboardCache.clear() | ||||||
|  |  | ||||||
|  |         accessHelper = AccessHelper(this, mKeyboard?.mKeys.orEmpty()) | ||||||
|  |         ViewCompat.setAccessibilityDelegate(this, accessHelper) | ||||||
|  |  | ||||||
|         // Not really necessary to do every time, but will free up views |         // Not really necessary to do every time, but will free up views | ||||||
|         // Switching to a different keyboard should abort any pending keys so that the key up |         // Switching to a different keyboard should abort any pending keys so that the key up | ||||||
|         // doesn't get delivered to the old or new keyboard |         // doesn't get delivered to the old or new keyboard | ||||||
| @@ -479,7 +448,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut | |||||||
|  |  | ||||||
|     private fun adjustCase(label: CharSequence): CharSequence? { |     private fun adjustCase(label: CharSequence): CharSequence? { | ||||||
|         var newLabel: CharSequence? = label |         var newLabel: CharSequence? = label | ||||||
|         if (newLabel != null && newLabel.isNotEmpty() && mKeyboard!!.mShiftState != ShiftState.OFF && newLabel.length < 3 && Character.isLowerCase(newLabel[0])) { |         if (!newLabel.isNullOrEmpty() && mKeyboard!!.mShiftState != ShiftState.OFF && newLabel.length < 3 && Character.isLowerCase(newLabel[0])) { | ||||||
|             newLabel = newLabel.toString().uppercase(Locale.getDefault()) |             newLabel = newLabel.toString().uppercase(Locale.getDefault()) | ||||||
|         } |         } | ||||||
|         return newLabel |         return newLabel | ||||||
| @@ -644,10 +613,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut | |||||||
|                     val secondaryIconBottom = secondaryIconTop + secondaryIconHeight |                     val secondaryIconBottom = secondaryIconTop + secondaryIconHeight | ||||||
|  |  | ||||||
|                     secondaryIcon.setBounds( |                     secondaryIcon.setBounds( | ||||||
|                         secondaryIconLeft, |                         secondaryIconLeft, secondaryIconTop, secondaryIconRight, secondaryIconBottom | ||||||
|                         secondaryIconTop, |  | ||||||
|                         secondaryIconRight, |  | ||||||
|                         secondaryIconBottom |  | ||||||
|                     ) |                     ) | ||||||
|                     secondaryIcon.draw(canvas) |                     secondaryIcon.draw(canvas) | ||||||
|  |  | ||||||
| @@ -833,29 +799,6 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut | |||||||
|         val oldKeyIndex = mCurrentKeyIndex |         val oldKeyIndex = mCurrentKeyIndex | ||||||
|         val previewPopup = mPreviewPopup |         val previewPopup = mPreviewPopup | ||||||
|         mCurrentKeyIndex = keyIndex |         mCurrentKeyIndex = keyIndex | ||||||
|         // Release the old key and press the new key |  | ||||||
|         val keys = mKeys |  | ||||||
|         if (oldKeyIndex != mCurrentKeyIndex) { |  | ||||||
|             if (oldKeyIndex != NOT_A_KEY && keys.size > oldKeyIndex) { |  | ||||||
|                 val oldKey = keys[oldKeyIndex] |  | ||||||
|                 oldKey.pressed = false |  | ||||||
|                 invalidateKey(oldKeyIndex) |  | ||||||
|                 val keyCode = oldKey.code |  | ||||||
|                 sendAccessibilityEventForUnicodeCharacter(AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED, keyCode) |  | ||||||
|             } |  | ||||||
|  |  | ||||||
|             if (mCurrentKeyIndex != NOT_A_KEY && keys.size > mCurrentKeyIndex) { |  | ||||||
|                 val newKey = keys[mCurrentKeyIndex] |  | ||||||
|  |  | ||||||
|                 val code = newKey.code |  | ||||||
|                 if (context.config.showKeyBorders || (code == KEYCODE_SHIFT || code == KEYCODE_MODE_CHANGE || code == KEYCODE_DELETE || code == KEYCODE_ENTER || code == KEYCODE_SPACE)) { |  | ||||||
|                     newKey.pressed = true |  | ||||||
|                 } |  | ||||||
|  |  | ||||||
|                 invalidateKey(mCurrentKeyIndex) |  | ||||||
|                 sendAccessibilityEventForUnicodeCharacter(AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED, code) |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         if (!context.config.showPopupOnKeypress) { |         if (!context.config.showPopupOnKeypress) { | ||||||
|             return |             return | ||||||
| @@ -866,8 +809,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut | |||||||
|             if (previewPopup.isShowing) { |             if (previewPopup.isShowing) { | ||||||
|                 if (keyIndex == NOT_A_KEY) { |                 if (keyIndex == NOT_A_KEY) { | ||||||
|                     mHandler!!.sendMessageDelayed( |                     mHandler!!.sendMessageDelayed( | ||||||
|                         mHandler!!.obtainMessage(MSG_REMOVE_PREVIEW), |                         mHandler!!.obtainMessage(MSG_REMOVE_PREVIEW), DELAY_AFTER_PREVIEW.toLong() | ||||||
|                         DELAY_AFTER_PREVIEW.toLong() |  | ||||||
|                     ) |                     ) | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
| @@ -960,22 +902,6 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private fun sendAccessibilityEventForUnicodeCharacter(eventType: Int, code: Int) { |  | ||||||
|         if (mAccessibilityManager.isEnabled) { |  | ||||||
|             val event = AccessibilityEvent.obtain(eventType) |  | ||||||
|             onInitializeAccessibilityEvent(event) |  | ||||||
|             val text: String = when (code) { |  | ||||||
|                 KEYCODE_DELETE -> context.getString(R.string.keycode_delete) |  | ||||||
|                 KEYCODE_ENTER -> context.getString(R.string.keycode_enter) |  | ||||||
|                 KEYCODE_MODE_CHANGE -> context.getString(R.string.keycode_mode_change) |  | ||||||
|                 KEYCODE_SHIFT -> context.getString(R.string.keycode_shift) |  | ||||||
|                 else -> code.toChar().toString() |  | ||||||
|             } |  | ||||||
|             event.text.add(text) |  | ||||||
|             mAccessibilityManager.sendAccessibilityEvent(event) |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Requests a redraw of the entire keyboard. Calling [.invalidate] is not sufficient because the keyboard renders the keys to an off-screen buffer and |      * Requests a redraw of the entire keyboard. Calling [.invalidate] is not sufficient because the keyboard renders the keys to an off-screen buffer and | ||||||
|      * an invalidate() only draws the cached buffer. |      * an invalidate() only draws the cached buffer. | ||||||
| @@ -1090,8 +1016,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut | |||||||
|                     mMiniKeyboard!!.setKeyboard(keyboard) |                     mMiniKeyboard!!.setKeyboard(keyboard) | ||||||
|                     mPopupParent = this |                     mPopupParent = this | ||||||
|                     mMiniKeyboardContainer!!.measure( |                     mMiniKeyboardContainer!!.measure( | ||||||
|                         MeasureSpec.makeMeasureSpec(width, MeasureSpec.AT_MOST), |                         MeasureSpec.makeMeasureSpec(width, MeasureSpec.AT_MOST), MeasureSpec.makeMeasureSpec(height, MeasureSpec.AT_MOST) | ||||||
|                         MeasureSpec.makeMeasureSpec(height, MeasureSpec.AT_MOST) |  | ||||||
|                     ) |                     ) | ||||||
|                     mMiniKeyboardCache[popupKey] = mMiniKeyboardContainer |                     mMiniKeyboardCache[popupKey] = mMiniKeyboardContainer | ||||||
|                 } else { |                 } else { | ||||||
|   | |||||||
| @@ -63,7 +63,7 @@ | |||||||
|             android:layout_height="@dimen/toolbar_icon_height" |             android:layout_height="@dimen/toolbar_icon_height" | ||||||
|             android:layout_marginEnd="@dimen/medium_margin" |             android:layout_marginEnd="@dimen/medium_margin" | ||||||
|             android:background="?android:attr/selectableItemBackgroundBorderless" |             android:background="?android:attr/selectableItemBackgroundBorderless" | ||||||
|             android:contentDescription="@string/settings" |             android:contentDescription="@string/clipboard_pinned" | ||||||
|             android:padding="@dimen/small_margin" |             android:padding="@dimen/small_margin" | ||||||
|             android:src="@drawable/ic_clipboard_vector" |             android:src="@drawable/ic_clipboard_vector" | ||||||
|             app:layout_constraintBottom_toBottomOf="parent" |             app:layout_constraintBottom_toBottomOf="parent" | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">تغيير نوع لوحة المفاتيح</string> |     <string name="keycode_mode_change">تغيير نوع لوحة المفاتيح</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">إظهار محتوى الحافظة إذا كان متوفرا</string> |     <string name="show_clipboard_content">إظهار محتوى الحافظة إذا كان متوفرا</string> | ||||||
|     <string name="show_popup">إظهار نافذة منبثقة عند الضغط على المفاتيح</string> |     <string name="show_popup">إظهار نافذة منبثقة عند الضغط على المفاتيح</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Змяніць тып клавіятуры</string> |     <string name="keycode_mode_change">Змяніць тып клавіятуры</string> | ||||||
|     <string name="keycode_shift">Зрух</string> |     <string name="keycode_shift">Зрух</string> | ||||||
|     <string name="keycode_enter">Увайдзіце</string> |     <string name="keycode_enter">Увайдзіце</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Паказаць змесціва буфера абмену, калі яно даступна</string> |     <string name="show_clipboard_content">Паказаць змесціва буфера абмену, калі яно даступна</string> | ||||||
|     <string name="show_popup">Паказваць усплывальнае акно пры націску клавішы</string> |     <string name="show_popup">Паказваць усплывальнае акно пры націску клавішы</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Промяна на типа клавиатура</string> |     <string name="keycode_mode_change">Промяна на типа клавиатура</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Показване на клипборд съдържанието, ако е налично</string> |     <string name="show_clipboard_content">Показване на клипборд съдържанието, ако е налично</string> | ||||||
|     <string name="show_popup">Показване на изскачащ прозорец при натискане на клавиш</string> |     <string name="show_popup">Показване на изскачащ прозорец при натискане на клавиш</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Canvia el tipus de teclat</string> |     <string name="keycode_mode_change">Canvia el tipus de teclat</string> | ||||||
|     <string name="keycode_shift">Majúscules</string> |     <string name="keycode_shift">Majúscules</string> | ||||||
|     <string name="keycode_enter">Retorn</string> |     <string name="keycode_enter">Retorn</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Mostra el contingut del porta-retalls si està disponible</string> |     <string name="show_clipboard_content">Mostra el contingut del porta-retalls si està disponible</string> | ||||||
|     <string name="show_popup">Mostra una finestra emergent en prémer les tecles</string> |     <string name="show_popup">Mostra una finestra emergent en prémer les tecles</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">گۆڕینی شێواز</string> |     <string name="keycode_mode_change">گۆڕینی شێواز</string> | ||||||
|     <string name="keycode_shift">شێفت</string> |     <string name="keycode_shift">شێفت</string> | ||||||
|     <string name="keycode_enter">ئینتەر</string> |     <string name="keycode_enter">ئینتەر</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">پیشاندانی دوایین لەبەرگیراوە</string> |     <string name="show_clipboard_content">پیشاندانی دوایین لەبەرگیراوە</string> | ||||||
|     <string name="show_popup">بچووککراوەی پیت</string> |     <string name="show_popup">بچووککراوەی پیت</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Změnit typ klávesnice</string> |     <string name="keycode_mode_change">Změnit typ klávesnice</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Zobrazit obsah schránky, pokud je k dispozici</string> |     <string name="show_clipboard_content">Zobrazit obsah schránky, pokud je k dispozici</string> | ||||||
|     <string name="show_popup">Zobrazit vyskakovací okno při stisknutí klávesy</string> |     <string name="show_popup">Zobrazit vyskakovací okno při stisknutí klávesy</string> | ||||||
| @@ -41,4 +42,4 @@ | |||||||
|         Haven't found some strings? There's more at |         Haven't found some strings? There's more at | ||||||
|         https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res |         https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res | ||||||
|     --> |     --> | ||||||
| </resources> | </resources> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Skift tastaturtype</string> |     <string name="keycode_mode_change">Skift tastaturtype</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Vis indhold i udklipsholder, hvis det er tilgængeligt</string> |     <string name="show_clipboard_content">Vis indhold i udklipsholder, hvis det er tilgængeligt</string> | ||||||
|     <string name="show_popup">Vis en popup ved tastetryk</string> |     <string name="show_popup">Vis en popup ved tastetryk</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Tastaturtyp ändern</string> |     <string name="keycode_mode_change">Tastaturtyp ändern</string> | ||||||
|     <string name="keycode_shift">Umschalttaste</string> |     <string name="keycode_shift">Umschalttaste</string> | ||||||
|     <string name="keycode_enter">Eingabe</string> |     <string name="keycode_enter">Eingabe</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Inhalt der Zwischenablage anzeigen, falls vorhanden</string> |     <string name="show_clipboard_content">Inhalt der Zwischenablage anzeigen, falls vorhanden</string> | ||||||
|     <string name="show_popup">Bei Tastendruck ein Popup anzeigen</string> |     <string name="show_popup">Bei Tastendruck ein Popup anzeigen</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Αλλαγή τύπου πληκτρολογίου</string> |     <string name="keycode_mode_change">Αλλαγή τύπου πληκτρολογίου</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Εμφάνιση περιεχομένου πρόχειρου εάν είναι διαθέσιμο</string> |     <string name="show_clipboard_content">Εμφάνιση περιεχομένου πρόχειρου εάν είναι διαθέσιμο</string> | ||||||
|     <string name="show_popup">Εμφάνιση ανάδυσης στο πάτημα πλήκτρων</string> |     <string name="show_popup">Εμφάνιση ανάδυσης στο πάτημα πλήκτρων</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Change keyboard type</string> |     <string name="keycode_mode_change">Change keyboard type</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Show clipboard content if available</string> |     <string name="show_clipboard_content">Show clipboard content if available</string> | ||||||
|     <string name="show_popup">Show a popup on keypress</string> |     <string name="show_popup">Show a popup on keypress</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Cambiar el tipo de teclado</string> |     <string name="keycode_mode_change">Cambiar el tipo de teclado</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Mostrar el contenido del portapapeles si está disponible</string> |     <string name="show_clipboard_content">Mostrar el contenido del portapapeles si está disponible</string> | ||||||
|     <string name="show_popup">Mostrar una ventana emergente al pulsar una tecla</string> |     <string name="show_popup">Mostrar una ventana emergente al pulsar una tecla</string> | ||||||
| @@ -41,4 +42,4 @@ | |||||||
|         Haven't found some strings? There's more at |         Haven't found some strings? There's more at | ||||||
|         https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res |         https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res | ||||||
|     --> |     --> | ||||||
| </resources> | </resources> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Muuda klaviatuuri tüüpi</string> |     <string name="keycode_mode_change">Muuda klaviatuuri tüüpi</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Sisenema</string> |     <string name="keycode_enter">Sisenema</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Näita lõikelaua kirjeid</string> |     <string name="show_clipboard_content">Näita lõikelaua kirjeid</string> | ||||||
|     <string name="show_popup">Klahvivajutusel näita hüpikakent</string> |     <string name="show_popup">Klahvivajutusel näita hüpikakent</string> | ||||||
| @@ -41,4 +42,4 @@ | |||||||
|         Haven't found some strings? There's more at |         Haven't found some strings? There's more at | ||||||
|         https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res |         https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res | ||||||
|     --> |     --> | ||||||
| </resources> | </resources> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Vaihda näppäimistön tyyppi</string> |     <string name="keycode_mode_change">Vaihda näppäimistön tyyppi</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Näytä leikepöydän sisältö, jos saatavilla</string> |     <string name="show_clipboard_content">Näytä leikepöydän sisältö, jos saatavilla</string> | ||||||
|     <string name="show_popup">Näytä ponnahdus näppäinten painalluksesta</string> |     <string name="show_popup">Näytä ponnahdus näppäinten painalluksesta</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Changer de type de clavier</string> |     <string name="keycode_mode_change">Changer de type de clavier</string> | ||||||
|     <string name="keycode_shift">Majuscule</string> |     <string name="keycode_shift">Majuscule</string> | ||||||
|     <string name="keycode_enter">Entrée</string> |     <string name="keycode_enter">Entrée</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Afficher le contenu du presse-papiers si disponible</string> |     <string name="show_clipboard_content">Afficher le contenu du presse-papiers si disponible</string> | ||||||
|     <string name="show_popup">Afficher une fenêtre contextuelle en cas de pression sur une touche</string> |     <string name="show_popup">Afficher une fenêtre contextuelle en cas de pression sur une touche</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Cambialo tipo do teclado</string> |     <string name="keycode_mode_change">Cambialo tipo do teclado</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Mostralo contido do portapapeis se atopase dispoñible</string> |     <string name="show_clipboard_content">Mostralo contido do portapapeis se atopase dispoñible</string> | ||||||
|     <string name="show_popup">Mostra unha ventá emerxente ao premer nunha tecla</string> |     <string name="show_popup">Mostra unha ventá emerxente ao premer nunha tecla</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Promijeni vrstu tipkovnice</string> |     <string name="keycode_mode_change">Promijeni vrstu tipkovnice</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Prikaži sadržaj međuspremnika ako postoji</string> |     <string name="show_clipboard_content">Prikaži sadržaj međuspremnika ako postoji</string> | ||||||
|     <string name="show_popup">Prikaži skočni prozor prilikom pritiskanja tipke</string> |     <string name="show_popup">Prikaži skočni prozor prilikom pritiskanja tipke</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Billentyűzet típusának módosítása</string> |     <string name="keycode_mode_change">Billentyűzet típusának módosítása</string> | ||||||
|     <string name="keycode_shift">Váltás</string> |     <string name="keycode_shift">Váltás</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Vágólap tartalmának megjelenítése, ha rendelkezésre áll</string> |     <string name="show_clipboard_content">Vágólap tartalmának megjelenítése, ha rendelkezésre áll</string> | ||||||
|     <string name="show_popup">Felugró ablak megjelenítése billentyűleütéskor</string> |     <string name="show_popup">Felugró ablak megjelenítése billentyűleütéskor</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Ubah tipe keyboard</string> |     <string name="keycode_mode_change">Ubah tipe keyboard</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Tampilkan konten papan klip jika tersedia</string> |     <string name="show_clipboard_content">Tampilkan konten papan klip jika tersedia</string> | ||||||
|     <string name="show_popup">Tampilkan sebuah popup pada penekanan tombol</string> |     <string name="show_popup">Tampilkan sebuah popup pada penekanan tombol</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Cambia il tipo di tastiera</string> |     <string name="keycode_mode_change">Cambia il tipo di tastiera</string> | ||||||
|     <string name="keycode_shift">Maiusc</string> |     <string name="keycode_shift">Maiusc</string> | ||||||
|     <string name="keycode_enter">Invio</string> |     <string name="keycode_enter">Invio</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Mostra il contenuto degli appunti se disponibile</string> |     <string name="show_clipboard_content">Mostra il contenuto degli appunti se disponibile</string> | ||||||
|     <string name="show_popup">Mostra un popup alla pressione di un tasto</string> |     <string name="show_popup">Mostra un popup alla pressione di un tasto</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">שנה את סוג המקלדת</string> |     <string name="keycode_mode_change">שנה את סוג המקלדת</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">הצג תוכן של לוח אם זמין</string> |     <string name="show_clipboard_content">הצג תוכן של לוח אם זמין</string> | ||||||
|     <string name="show_popup">הצג חלון קופץ בלחיצת מקש</string> |     <string name="show_popup">הצג חלון קופץ בלחיצת מקש</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">キーボードの種類を変更する</string> |     <string name="keycode_mode_change">キーボードの種類を変更する</string> | ||||||
|     <string name="keycode_shift">シフト</string> |     <string name="keycode_shift">シフト</string> | ||||||
|     <string name="keycode_enter">エンター</string> |     <string name="keycode_enter">エンター</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">クリップボードの内容がある場合、それを表示する</string> |     <string name="show_clipboard_content">クリップボードの内容がある場合、それを表示する</string> | ||||||
|     <string name="show_popup">キー入力時にポップアップを表示する</string> |     <string name="show_popup">キー入力時にポップアップを表示する</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Keisti klaviatūros tipą</string> |     <string name="keycode_mode_change">Keisti klaviatūros tipą</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Jei prieinama, rodyti iškarpinės turinį</string> |     <string name="show_clipboard_content">Jei prieinama, rodyti iškarpinės turinį</string> | ||||||
|     <string name="show_popup">Show a popup on keypress</string> |     <string name="show_popup">Show a popup on keypress</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">കീബോർഡ് തരം മാറ്റുക</string> |     <string name="keycode_mode_change">കീബോർഡ് തരം മാറ്റുക</string> | ||||||
|     <string name="keycode_shift">ഷിഫ്റ്റ്</string> |     <string name="keycode_shift">ഷിഫ്റ്റ്</string> | ||||||
|     <string name="keycode_enter">നൽകുക</string> |     <string name="keycode_enter">നൽകുക</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">ക്ലിപ്പ്ബോർഡ് ഉള്ളടക്കം ലഭ്യമാണെങ്കിൽ കാണിക്കുക</string> |     <string name="show_clipboard_content">ക്ലിപ്പ്ബോർഡ് ഉള്ളടക്കം ലഭ്യമാണെങ്കിൽ കാണിക്കുക</string> | ||||||
|     <string name="show_popup">കീപ്രസ്സിൽ ഒരു പോപ്പ്അപ്പ് കാണിക്കുക</string> |     <string name="show_popup">കീപ്രസ്സിൽ ഒരു പോപ്പ്അപ്പ് കാണിക്കുക</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Change keyboard type</string> |     <string name="keycode_mode_change">Change keyboard type</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Show clipboard content if available</string> |     <string name="show_clipboard_content">Show clipboard content if available</string> | ||||||
|     <string name="show_popup">Show a popup on keypress</string> |     <string name="show_popup">Show a popup on keypress</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Type toetsenbord veranderen</string> |     <string name="keycode_mode_change">Type toetsenbord veranderen</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Klembordinhoud tonen indien beschikbaar</string> |     <string name="show_clipboard_content">Klembordinhoud tonen indien beschikbaar</string> | ||||||
|     <string name="show_popup">Pop-up tonen bij toetsaanslagen</string> |     <string name="show_popup">Pop-up tonen bij toetsaanslagen</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">کیبورڈ دی قسم بدلو</string> |     <string name="keycode_mode_change">کیبورڈ دی قسم بدلو</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">جے اُپلبدھ ہووے تاں کاپی کیتی لکھت ویکھو</string> |     <string name="show_clipboard_content">جے اُپلبدھ ہووے تاں کاپی کیتی لکھت ویکھو</string> | ||||||
|     <string name="show_popup">جدوں کنجی دباؤݨ کنجی تے وڈا اکھر ویکھو</string> |     <string name="show_popup">جدوں کنجی دباؤݨ کنجی تے وڈا اکھر ویکھو</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Change keyboard type</string> |     <string name="keycode_mode_change">Change keyboard type</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Show clipboard content if available</string> |     <string name="show_clipboard_content">Show clipboard content if available</string> | ||||||
|     <string name="show_popup">Show a popup on keypress</string> |     <string name="show_popup">Show a popup on keypress</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Zmień typ klawiatury</string> |     <string name="keycode_mode_change">Zmień typ klawiatury</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Pokazuj zawartość schowka, jeśli jest dostępna</string> |     <string name="show_clipboard_content">Pokazuj zawartość schowka, jeśli jest dostępna</string> | ||||||
|     <string name="show_popup">Pokazuj wyskakujące okienko przy naciśnięciu klawisza</string> |     <string name="show_popup">Pokazuj wyskakujące okienko przy naciśnięciu klawisza</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Mudar tipo de teclado</string> |     <string name="keycode_mode_change">Mudar tipo de teclado</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Mostrar conteúdo da área de transferência se houver</string> |     <string name="show_clipboard_content">Mostrar conteúdo da área de transferência se houver</string> | ||||||
|     <string name="show_popup">Mostrar pop-up ao digitar</string> |     <string name="show_popup">Mostrar pop-up ao digitar</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Alterar tipo de teclado</string> |     <string name="keycode_mode_change">Alterar tipo de teclado</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Mostrar conteúdo da área de transferência, se disponível</string> |     <string name="show_clipboard_content">Mostrar conteúdo da área de transferência, se disponível</string> | ||||||
|     <string name="show_popup">Mostrar pop-up ao premir as teclas</string> |     <string name="show_popup">Mostrar pop-up ao premir as teclas</string> | ||||||
| @@ -41,4 +42,4 @@ | |||||||
|         Haven't found some strings? There's more at |         Haven't found some strings? There's more at | ||||||
|         https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res |         https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res | ||||||
|     --> |     --> | ||||||
| </resources> | </resources> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Schimbați tipul de tastatură</string> |     <string name="keycode_mode_change">Schimbați tipul de tastatură</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Afișează conținutul clipboard-ului, dacă este disponibil</string> |     <string name="show_clipboard_content">Afișează conținutul clipboard-ului, dacă este disponibil</string> | ||||||
|     <string name="show_popup">Afișați o fereastră pop-up la apăsarea unei taste</string> |     <string name="show_popup">Afișați o fereastră pop-up la apăsarea unei taste</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Изменить тип клавиатуры</string> |     <string name="keycode_mode_change">Изменить тип клавиатуры</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Пробел</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Показывать содержимое буфера обмена при наличии</string> |     <string name="show_clipboard_content">Показывать содержимое буфера обмена при наличии</string> | ||||||
|     <string name="show_popup">Показывать ввод по нажатию</string> |     <string name="show_popup">Показывать ввод по нажатию</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Zmeniť typ klávesnice</string> |     <string name="keycode_mode_change">Zmeniť typ klávesnice</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Medzerník</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Zobraziť obsah schránky, ak je dostupná</string> |     <string name="show_clipboard_content">Zobraziť obsah schránky, ak je dostupná</string> | ||||||
|     <string name="show_popup">Zobraziť detail znaku pri stlačení</string> |     <string name="show_popup">Zobraziť detail znaku pri stlačení</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Spremeni vrsto tipkovnice</string> |     <string name="keycode_mode_change">Spremeni vrsto tipkovnice</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Prikaži vsebino odložišča, če je na voljo</string> |     <string name="show_clipboard_content">Prikaži vsebino odložišča, če je na voljo</string> | ||||||
|     <string name="show_popup">Prikaži pojavno okno ob pritisku tipke</string> |     <string name="show_popup">Prikaži pojavno okno ob pritisku tipke</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Промените тип тастатуре</string> |     <string name="keycode_mode_change">Промените тип тастатуре</string> | ||||||
|     <string name="keycode_shift">Смена</string> |     <string name="keycode_shift">Смена</string> | ||||||
|     <string name="keycode_enter">Унеси</string> |     <string name="keycode_enter">Унеси</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Прикажи садржај међуспремника ако је доступан</string> |     <string name="show_clipboard_content">Прикажи садржај међуспремника ако је доступан</string> | ||||||
|     <string name="show_popup">Прикажи искачући прозор при притиску на тастер</string> |     <string name="show_popup">Прикажи искачући прозор при притиску на тастер</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Ändra tangentbordstyp</string> |     <string name="keycode_mode_change">Ändra tangentbordstyp</string> | ||||||
|     <string name="keycode_shift">Skift</string> |     <string name="keycode_shift">Skift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Visa urklippets innehåll om tillgängligt</string> |     <string name="show_clipboard_content">Visa urklippets innehåll om tillgängligt</string> | ||||||
|     <string name="show_popup">Visa en popupp vid knapptryck</string> |     <string name="show_popup">Visa en popupp vid knapptryck</string> | ||||||
| @@ -41,4 +42,4 @@ | |||||||
|         Haven't found some strings? There's more at |         Haven't found some strings? There's more at | ||||||
|         https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res |         https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res | ||||||
|     --> |     --> | ||||||
| </resources> | </resources> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Change keyboard type</string> |     <string name="keycode_mode_change">Change keyboard type</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Show clipboard content if available</string> |     <string name="show_clipboard_content">Show clipboard content if available</string> | ||||||
|     <string name="show_popup">Show a popup on keypress</string> |     <string name="show_popup">Show a popup on keypress</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Klavye türünü değiştir</string> |     <string name="keycode_mode_change">Klavye türünü değiştir</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Varsa pano içeriğini göster</string> |     <string name="show_clipboard_content">Varsa pano içeriğini göster</string> | ||||||
|     <string name="show_popup">Tuşa basıldığında bir açılır menü göster</string> |     <string name="show_popup">Tuşa basıldığında bir açılır menü göster</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Змінити тип клавіатури</string> |     <string name="keycode_mode_change">Змінити тип клавіатури</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Показувати вміст буфера обміну, якщо він є</string> |     <string name="show_clipboard_content">Показувати вміст буфера обміну, якщо він є</string> | ||||||
|     <string name="show_popup">Показувати popup при натисканні</string> |     <string name="show_popup">Показувати popup при натисканні</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">更改键盘类型</string> |     <string name="keycode_mode_change">更改键盘类型</string> | ||||||
|     <string name="keycode_shift">上档</string> |     <string name="keycode_shift">上档</string> | ||||||
|     <string name="keycode_enter">输入</string> |     <string name="keycode_enter">输入</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">如可用显示剪贴板内容</string> |     <string name="show_clipboard_content">如可用显示剪贴板内容</string> | ||||||
|     <string name="show_popup">按键时显示弹框</string> |     <string name="show_popup">按键时显示弹框</string> | ||||||
|   | |||||||
| @@ -27,6 +27,7 @@ | |||||||
|     <string name="keycode_mode_change">變更鍵盤類型</string> |     <string name="keycode_mode_change">變更鍵盤類型</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">可以的話顯示剪貼簿內容</string> |     <string name="show_clipboard_content">可以的話顯示剪貼簿內容</string> | ||||||
|     <string name="show_popup">按下按鍵時顯示彈出效果</string> |     <string name="show_popup">按下按鍵時顯示彈出效果</string> | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ | |||||||
|     <string name="keycode_mode_change">Change keyboard type</string> |     <string name="keycode_mode_change">Change keyboard type</string> | ||||||
|     <string name="keycode_shift">Shift</string> |     <string name="keycode_shift">Shift</string> | ||||||
|     <string name="keycode_enter">Enter</string> |     <string name="keycode_enter">Enter</string> | ||||||
|  |     <string name="keycode_space">Spacebar</string> | ||||||
|     <!-- Settings --> |     <!-- Settings --> | ||||||
|     <string name="show_clipboard_content">Show clipboard content if available</string> |     <string name="show_clipboard_content">Show clipboard content if available</string> | ||||||
|     <string name="show_popup">Show a popup on keypress</string> |     <string name="show_popup">Show a popup on keypress</string> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user