Merge remote-tracking branch 'origin/direct_boot_aware' into direct_boot_aware
This commit is contained in:
commit
471b3f25cc
|
@ -165,17 +165,21 @@ fun Context.getKeyboardLanguages(): ArrayList<RadioItem> {
|
|||
return arrayListOf(
|
||||
RadioItem(LANGUAGE_BENGALI, getKeyboardLanguageText(LANGUAGE_BENGALI)),
|
||||
RadioItem(LANGUAGE_BULGARIAN, getKeyboardLanguageText(LANGUAGE_BULGARIAN)),
|
||||
RadioItem(LANGUAGE_DANISH, getKeyboardLanguageText(LANGUAGE_DANISH)),
|
||||
RadioItem(LANGUAGE_ENGLISH_QWERTY, getKeyboardLanguageText(LANGUAGE_ENGLISH_QWERTY)),
|
||||
RadioItem(LANGUAGE_ENGLISH_QWERTZ, getKeyboardLanguageText(LANGUAGE_ENGLISH_QWERTZ)),
|
||||
RadioItem(LANGUAGE_ENGLISH_DVORAK, getKeyboardLanguageText(LANGUAGE_ENGLISH_DVORAK)),
|
||||
RadioItem(LANGUAGE_FRENCH, getKeyboardLanguageText(LANGUAGE_FRENCH)),
|
||||
RadioItem(LANGUAGE_FRENCH_AZERTY, getKeyboardLanguageText(LANGUAGE_FRENCH_AZERTY)),
|
||||
RadioItem(LANGUAGE_FRENCH_BEPO, getKeyboardLanguageText(LANGUAGE_FRENCH_BEPO)),
|
||||
RadioItem(LANGUAGE_GERMAN, getKeyboardLanguageText(LANGUAGE_GERMAN)),
|
||||
RadioItem(LANGUAGE_GREEK, getKeyboardLanguageText(LANGUAGE_GREEK)),
|
||||
RadioItem(LANGUAGE_LITHUANIAN, getKeyboardLanguageText(LANGUAGE_LITHUANIAN)),
|
||||
RadioItem(LANGUAGE_NORWEGIAN, getKeyboardLanguageText(LANGUAGE_NORWEGIAN)),
|
||||
RadioItem(LANGUAGE_ROMANIAN, getKeyboardLanguageText(LANGUAGE_ROMANIAN)),
|
||||
RadioItem(LANGUAGE_RUSSIAN, getKeyboardLanguageText(LANGUAGE_RUSSIAN)),
|
||||
RadioItem(LANGUAGE_SLOVENIAN, getKeyboardLanguageText(LANGUAGE_SLOVENIAN)),
|
||||
RadioItem(LANGUAGE_SPANISH, getKeyboardLanguageText(LANGUAGE_SPANISH)),
|
||||
RadioItem(LANGUAGE_SWEDISH, getKeyboardLanguageText(LANGUAGE_SWEDISH)),
|
||||
RadioItem(LANGUAGE_TURKISH_Q, getKeyboardLanguageText(LANGUAGE_TURKISH_Q)),
|
||||
)
|
||||
}
|
||||
|
@ -184,18 +188,23 @@ fun Context.getKeyboardLanguageText(language: Int): String {
|
|||
return when (language) {
|
||||
LANGUAGE_BENGALI -> getString(R.string.translation_bengali)
|
||||
LANGUAGE_BULGARIAN -> getString(R.string.translation_bulgarian)
|
||||
LANGUAGE_DANISH -> getString(R.string.translation_danish)
|
||||
LANGUAGE_ENGLISH_DVORAK -> "${getString(R.string.translation_english)} (DVORAK)"
|
||||
LANGUAGE_ENGLISH_QWERTZ -> "${getString(R.string.translation_english)} (QWERTZ)"
|
||||
LANGUAGE_FRENCH -> getString(R.string.translation_french)
|
||||
LANGUAGE_FRENCH_AZERTY -> "${getString(R.string.translation_french)} (AZERTY)"
|
||||
LANGUAGE_FRENCH_BEPO -> "${getString(R.string.translation_french)} (BEPO)"
|
||||
LANGUAGE_GERMAN -> getString(R.string.translation_german)
|
||||
LANGUAGE_GREEK -> getString(R.string.translation_greek)
|
||||
LANGUAGE_LITHUANIAN -> getString(R.string.translation_lithuanian)
|
||||
LANGUAGE_NORWEGIAN -> getString(R.string.translation_norwegian)
|
||||
LANGUAGE_ROMANIAN -> getString(R.string.translation_romanian)
|
||||
LANGUAGE_RUSSIAN -> getString(R.string.translation_russian)
|
||||
LANGUAGE_SLOVENIAN -> getString(R.string.translation_slovenian)
|
||||
LANGUAGE_SPANISH -> getString(R.string.translation_spanish)
|
||||
LANGUAGE_SWEDISH -> getString(R.string.translation_swedish)
|
||||
LANGUAGE_TURKISH_Q -> "${getString(R.string.translation_turkish)} (Q)"
|
||||
else -> "${getString(R.string.translation_english)} (QWERTY)"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
|
@ -27,7 +27,7 @@ const val ITEM_CLIP = 1
|
|||
|
||||
const val LANGUAGE_ENGLISH_QWERTY = 0
|
||||
const val LANGUAGE_RUSSIAN = 1
|
||||
const val LANGUAGE_FRENCH = 2
|
||||
const val LANGUAGE_FRENCH_AZERTY = 2
|
||||
const val LANGUAGE_ENGLISH_QWERTZ = 3
|
||||
const val LANGUAGE_SPANISH = 4
|
||||
const val LANGUAGE_GERMAN = 5
|
||||
|
@ -39,6 +39,10 @@ const val LANGUAGE_TURKISH_Q = 10
|
|||
const val LANGUAGE_LITHUANIAN = 11
|
||||
const val LANGUAGE_BENGALI = 12
|
||||
const val LANGUAGE_GREEK = 13
|
||||
const val LANGUAGE_NORWEGIAN = 14
|
||||
const val LANGUAGE_SWEDISH = 15
|
||||
const val LANGUAGE_DANISH = 16
|
||||
const val LANGUAGE_FRENCH_BEPO = 17
|
||||
|
||||
// keyboard height multiplier options
|
||||
const val KEYBOARD_HEIGHT_MULTIPLIER_SMALL = 1
|
||||
|
|
|
@ -43,7 +43,7 @@ class MyKeyboard {
|
|||
var mMinWidth = 0
|
||||
|
||||
/** 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 */
|
||||
private var mDisplayWidth = 0
|
||||
|
@ -225,6 +225,21 @@ class MyKeyboard {
|
|||
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. */
|
||||
init {
|
||||
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()
|
||||
}
|
|
@ -16,11 +16,12 @@ import com.simplemobiletools.keyboard.R
|
|||
import com.simplemobiletools.keyboard.extensions.config
|
||||
import com.simplemobiletools.keyboard.extensions.safeStorageContext
|
||||
import com.simplemobiletools.keyboard.helpers.*
|
||||
import com.simplemobiletools.keyboard.interfaces.OnKeyboardActionListener
|
||||
import com.simplemobiletools.keyboard.views.MyKeyboardView
|
||||
import kotlinx.android.synthetic.main.keyboard_view_keyboard.view.*
|
||||
|
||||
// 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 val KEYBOARD_LETTERS = 0
|
||||
private val KEYBOARD_SYMBOLS = 1
|
||||
|
@ -283,15 +284,19 @@ class SimpleKeyboardIME : InputMethodService(), MyKeyboardView.OnKeyboardActionL
|
|||
return when (baseContext.config.keyboardLanguage) {
|
||||
LANGUAGE_BENGALI -> R.xml.keys_letters_bengali
|
||||
LANGUAGE_BULGARIAN -> R.xml.keys_letters_bulgarian
|
||||
LANGUAGE_DANISH -> R.xml.keys_letters_danish
|
||||
LANGUAGE_ENGLISH_DVORAK -> R.xml.keys_letters_english_dvorak
|
||||
LANGUAGE_ENGLISH_QWERTZ -> R.xml.keys_letters_english_qwertz
|
||||
LANGUAGE_FRENCH -> R.xml.keys_letters_french
|
||||
LANGUAGE_FRENCH_AZERTY -> R.xml.keys_letters_french_azerty
|
||||
LANGUAGE_FRENCH_BEPO -> R.xml.keys_letters_french_bepo
|
||||
LANGUAGE_GERMAN -> R.xml.keys_letters_german
|
||||
LANGUAGE_GREEK -> R.xml.keys_letters_greek
|
||||
LANGUAGE_LITHUANIAN -> R.xml.keys_letters_lithuanian
|
||||
LANGUAGE_NORWEGIAN -> R.xml.keys_letters_norwegian
|
||||
LANGUAGE_ROMANIAN -> R.xml.keys_letters_romanian
|
||||
LANGUAGE_RUSSIAN -> R.xml.keys_letters_russian
|
||||
LANGUAGE_SLOVENIAN -> R.xml.keys_letters_slovenian
|
||||
LANGUAGE_SWEDISH -> R.xml.keys_letters_swedish
|
||||
LANGUAGE_SPANISH -> R.xml.keys_letters_spanish_qwerty
|
||||
LANGUAGE_TURKISH_Q -> R.xml.keys_letters_turkish_q
|
||||
else -> R.xml.keys_letters_english_qwerty
|
||||
|
|
|
@ -16,14 +16,13 @@ import android.os.Message
|
|||
import android.util.AttributeSet
|
||||
import android.util.TypedValue
|
||||
import android.view.*
|
||||
import android.view.accessibility.AccessibilityEvent
|
||||
import android.view.accessibility.AccessibilityManager
|
||||
import android.view.animation.AccelerateInterpolator
|
||||
import android.view.inputmethod.EditorInfo
|
||||
import android.widget.PopupWindow
|
||||
import android.widget.TextView
|
||||
import androidx.core.animation.doOnEnd
|
||||
import androidx.core.animation.doOnStart
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.emoji2.text.EmojiCompat
|
||||
import androidx.emoji2.text.EmojiCompat.EMOJI_SUPPORTED
|
||||
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_SHIFT
|
||||
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.models.Clip
|
||||
import com.simplemobiletools.keyboard.models.ClipsSectionLabel
|
||||
|
@ -52,49 +52,18 @@ import kotlinx.android.synthetic.main.keyboard_view_keyboard.view.*
|
|||
import java.util.*
|
||||
|
||||
@SuppressLint("UseCompatLoadingForDrawables", "ClickableViewAccessibility")
|
||||
class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: AttributeSet?, defStyleRes: Int = 0) :
|
||||
View(context, attrs, defStyleRes) {
|
||||
class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: AttributeSet?, defStyleRes: Int = 0) : View(context, attrs, defStyleRes) {
|
||||
|
||||
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()
|
||||
override fun dispatchHoverEvent(event: MotionEvent): Boolean {
|
||||
return if (accessHelper?.dispatchHoverEvent(event) == true) {
|
||||
true
|
||||
} else {
|
||||
super.dispatchHoverEvent(event)
|
||||
}
|
||||
}
|
||||
|
||||
private var accessHelper: AccessHelper? = null
|
||||
|
||||
private var mKeyboard: MyKeyboard? = null
|
||||
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 */
|
||||
private var mCanvas: Canvas? = null
|
||||
|
||||
/** The accessibility manager for accessibility support */
|
||||
private val mAccessibilityManager: AccessibilityManager
|
||||
|
||||
private var mHandler: Handler? = null
|
||||
|
||||
companion object {
|
||||
|
@ -248,7 +214,6 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
|||
mPaint.textAlign = Align.CENTER
|
||||
mPaint.alpha = 255
|
||||
mMiniKeyboardCache = HashMap()
|
||||
mAccessibilityManager = (context.getSystemService(Context.ACCESSIBILITY_SERVICE) as AccessibilityManager)
|
||||
mPopupMaxMoveDistance = resources.getDimension(R.dimen.popup_max_move_distance)
|
||||
mTopSmallNumberSize = resources.getDimension(R.dimen.small_text_size)
|
||||
mTopSmallNumberMarginWidth = resources.getDimension(R.dimen.top_small_number_margin_width)
|
||||
|
@ -304,6 +269,10 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
|||
invalidateAllKeys()
|
||||
computeProximityThreshold(keyboard)
|
||||
mMiniKeyboardCache.clear()
|
||||
|
||||
accessHelper = AccessHelper(this, mKeyboard?.mKeys.orEmpty())
|
||||
ViewCompat.setAccessibilityDelegate(this, accessHelper)
|
||||
|
||||
// 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
|
||||
// doesn't get delivered to the old or new keyboard
|
||||
|
@ -486,7 +455,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
|||
|
||||
private fun adjustCase(label: CharSequence): CharSequence? {
|
||||
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())
|
||||
}
|
||||
return newLabel
|
||||
|
@ -651,10 +620,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
|||
val secondaryIconBottom = secondaryIconTop + secondaryIconHeight
|
||||
|
||||
secondaryIcon.setBounds(
|
||||
secondaryIconLeft,
|
||||
secondaryIconTop,
|
||||
secondaryIconRight,
|
||||
secondaryIconBottom
|
||||
secondaryIconLeft, secondaryIconTop, secondaryIconRight, secondaryIconBottom
|
||||
)
|
||||
secondaryIcon.draw(canvas)
|
||||
|
||||
|
@ -840,29 +806,6 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
|||
val oldKeyIndex = mCurrentKeyIndex
|
||||
val previewPopup = mPreviewPopup
|
||||
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) {
|
||||
return
|
||||
|
@ -873,8 +816,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
|||
if (previewPopup.isShowing) {
|
||||
if (keyIndex == NOT_A_KEY) {
|
||||
mHandler!!.sendMessageDelayed(
|
||||
mHandler!!.obtainMessage(MSG_REMOVE_PREVIEW),
|
||||
DELAY_AFTER_PREVIEW.toLong()
|
||||
mHandler!!.obtainMessage(MSG_REMOVE_PREVIEW), DELAY_AFTER_PREVIEW.toLong()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -967,22 +909,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
|
||||
* an invalidate() only draws the cached buffer.
|
||||
|
@ -1097,8 +1023,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
|||
mMiniKeyboard!!.setKeyboard(keyboard)
|
||||
mPopupParent = this
|
||||
mMiniKeyboardContainer!!.measure(
|
||||
MeasureSpec.makeMeasureSpec(width, MeasureSpec.AT_MOST),
|
||||
MeasureSpec.makeMeasureSpec(height, MeasureSpec.AT_MOST)
|
||||
MeasureSpec.makeMeasureSpec(width, MeasureSpec.AT_MOST), MeasureSpec.makeMeasureSpec(height, MeasureSpec.AT_MOST)
|
||||
)
|
||||
mMiniKeyboardCache[popupKey] = mMiniKeyboardContainer
|
||||
} else {
|
||||
|
@ -1161,8 +1086,8 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
|||
|
||||
// fix a glitch with long pressing backspace, then clicking some letter
|
||||
if (mRepeatKeyIndex != NOT_A_KEY) {
|
||||
val key = mKeys[mRepeatKeyIndex]
|
||||
if (key.code == KEYCODE_DELETE) {
|
||||
val key = mKeys.getOrNull(mRepeatKeyIndex)
|
||||
if (key?.code == KEYCODE_DELETE) {
|
||||
mHandler?.removeMessages(MSG_REPEAT)
|
||||
mRepeatKeyIndex = NOT_A_KEY
|
||||
}
|
||||
|
@ -1397,12 +1322,13 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
|||
}
|
||||
showPreview(NOT_A_KEY)
|
||||
Arrays.fill(mKeyIndices, NOT_A_KEY)
|
||||
|
||||
val currentKeyCode = mKeys.getOrNull(mCurrentKey)?.code
|
||||
|
||||
// If we're not on a repeating key (which sends on a DOWN event)
|
||||
if (mRepeatKeyIndex == NOT_A_KEY && !mMiniKeyboardOnScreen && !mAbortKey) {
|
||||
detectAndSendKey(mCurrentKey, touchX, touchY, eventTime)
|
||||
}
|
||||
|
||||
if (mKeys.getOrNull(mCurrentKey)?.code == KEYCODE_SPACE && !mIsLongPressingSpace) {
|
||||
} else if (currentKeyCode == KEYCODE_SPACE && !mIsLongPressingSpace) {
|
||||
detectAndSendKey(mCurrentKey, touchX, touchY, eventTime)
|
||||
}
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
android:layout_height="@dimen/toolbar_icon_height"
|
||||
android:layout_marginEnd="@dimen/medium_margin"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/settings"
|
||||
android:contentDescription="@string/clipboard_pinned"
|
||||
android:padding="@dimen/small_margin"
|
||||
android:src="@drawable/ic_clipboard_vector"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">تغيير نوع لوحة المفاتيح</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">إظهار محتوى الحافظة إذا كان متوفرا</string>
|
||||
<string name="show_popup">إظهار نافذة منبثقة عند الضغط على المفاتيح</string>
|
||||
|
@ -34,7 +35,7 @@
|
|||
<string name="keyboard_height">ارتفاع لوحة المفاتيح</string>
|
||||
<string name="show_key_borders">إظهار حدود المفاتيح</string>
|
||||
<string name="show_numbers_row">إظهار الأرقام في صف منفصل</string>
|
||||
<string name="start_sentences_capitalized">Start sentences with a capital letter</string>
|
||||
<string name="start_sentences_capitalized">بدء الجمل بحرف كبير</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">الرموز التعبيرية</string>
|
||||
<!--
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Змяніць тып клавіятуры</string>
|
||||
<string name="keycode_shift">Зрух</string>
|
||||
<string name="keycode_enter">Увайдзіце</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Паказаць змесціва буфера абмену, калі яно даступна</string>
|
||||
<string name="show_popup">Паказваць усплывальнае акно пры націску клавішы</string>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Промяна на типа клавиатура</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Показване на клипборд съдържанието, ако е налично</string>
|
||||
<string name="show_popup">Показване на изскачащ прозорец при натискане на клавиш</string>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Canvia el tipus de teclat</string>
|
||||
<string name="keycode_shift">Majúscules</string>
|
||||
<string name="keycode_enter">Retorn</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<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>
|
||||
|
@ -34,7 +35,7 @@
|
|||
<string name="keyboard_height">Alçada del teclat</string>
|
||||
<string name="show_key_borders">Mostra les vores de les tecles</string>
|
||||
<string name="show_numbers_row">Mostra els números en una fila separada</string>
|
||||
<string name="start_sentences_capitalized">Start sentences with a capital letter</string>
|
||||
<string name="start_sentences_capitalized">Comença les frases amb una lletra majúscula</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<!--
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">گۆڕینی شێواز</string>
|
||||
<string name="keycode_shift">شێفت</string>
|
||||
<string name="keycode_enter">ئینتەر</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">پیشاندانی دوایین لەبەرگیراوە</string>
|
||||
<string name="show_popup">بچووککراوەی پیت</string>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Změnit typ klávesnice</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<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>
|
||||
|
@ -34,7 +35,7 @@
|
|||
<string name="keyboard_height">Výška klávesnice</string>
|
||||
<string name="show_key_borders">Zobrazit ohraničení kláves</string>
|
||||
<string name="show_numbers_row">Zobrazit čísla na samostatném řádku</string>
|
||||
<string name="start_sentences_capitalized">Start sentences with a capital letter</string>
|
||||
<string name="start_sentences_capitalized">Začínat věty velkým písmenem</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emotikony</string>
|
||||
<!--
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Skift tastaturtype</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<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>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Tastaturtyp ändern</string>
|
||||
<string name="keycode_shift">Umschalttaste</string>
|
||||
<string name="keycode_enter">Eingabe</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Inhalt der Zwischenablage anzeigen, falls vorhanden</string>
|
||||
<string name="show_popup">Bei Tastendruck ein Popup anzeigen</string>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Αλλαγή τύπου πληκτρολογίου</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Εμφάνιση περιεχομένου πρόχειρου εάν είναι διαθέσιμο</string>
|
||||
<string name="show_popup">Εμφάνιση ανάδυσης στο πάτημα πλήκτρων</string>
|
||||
|
@ -34,7 +35,7 @@
|
|||
<string name="keyboard_height">Ύψος πληκτρολογίου</string>
|
||||
<string name="show_key_borders">Εμφάνιση ορίων πλήκτρου</string>
|
||||
<string name="show_numbers_row">Εμφάνιση αριθμών σε ξεχωριστή γραμμή</string>
|
||||
<string name="start_sentences_capitalized">Start sentences with a capital letter</string>
|
||||
<string name="start_sentences_capitalized">Αρχίστε τις προτάσεις με κεφαλαίο γράμμα</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<!--
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Change keyboard type</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Show clipboard content if available</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_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<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>
|
||||
|
@ -34,7 +35,7 @@
|
|||
<string name="keyboard_height">Altura del teclado</string>
|
||||
<string name="show_key_borders">Mostrar bordes de las teclas</string>
|
||||
<string name="show_numbers_row">Mostrar los números en una fila separada</string>
|
||||
<string name="start_sentences_capitalized">Start sentences with a capital letter</string>
|
||||
<string name="start_sentences_capitalized">Empezar las frases con mayúsculas</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emoticonos</string>
|
||||
<!--
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Muuda klaviatuuri tüüpi</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Sisenema</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Näita lõikelaua kirjeid</string>
|
||||
<string name="show_popup">Klahvivajutusel näita hüpikakent</string>
|
||||
|
@ -34,7 +35,7 @@
|
|||
<string name="keyboard_height">Klaviatuuri kõrgus</string>
|
||||
<string name="show_key_borders">Näita klahvide ääriseid</string>
|
||||
<string name="show_numbers_row">Näita numbreid eraldi real</string>
|
||||
<string name="start_sentences_capitalized">Start sentences with a capital letter</string>
|
||||
<string name="start_sentences_capitalized">Alusta lauseid suurtähega</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojid</string>
|
||||
<!--
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Vaihda näppäimistön tyyppi</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<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>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Changer de type de clavier</string>
|
||||
<string name="keycode_shift">Majuscule</string>
|
||||
<string name="keycode_enter">Entrée</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<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>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Cambialo tipo do teclado</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<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>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Promijeni vrstu tipkovnice</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<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>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<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_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<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>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Ubah tipe keyboard</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Tampilkan konten papan klip jika tersedia</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_shift">Maiusc</string>
|
||||
<string name="keycode_enter">Invio</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<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>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">שנה את סוג המקלדת</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">הצג תוכן של לוח אם זמין</string>
|
||||
<string name="show_popup">הצג חלון קופץ בלחיצת מקש</string>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">キーボードの種類を変更する</string>
|
||||
<string name="keycode_shift">シフト</string>
|
||||
<string name="keycode_enter">エンター</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">クリップボードの内容がある場合、それを表示する</string>
|
||||
<string name="show_popup">キー入力時にポップアップを表示する</string>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Keisti klaviatūros tipą</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Jei prieinama, rodyti iškarpinės turinį</string>
|
||||
<string name="show_popup">Show a popup on keypress</string>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">കീബോർഡ് തരം മാറ്റുക</string>
|
||||
<string name="keycode_shift">ഷിഫ്റ്റ്</string>
|
||||
<string name="keycode_enter">നൽകുക</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">ക്ലിപ്പ്ബോർഡ് ഉള്ളടക്കം ലഭ്യമാണെങ്കിൽ കാണിക്കുക</string>
|
||||
<string name="show_popup">കീപ്രസ്സിൽ ഒരു പോപ്പ്അപ്പ് കാണിക്കുക</string>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Change keyboard type</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Show clipboard content if available</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_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Klembordinhoud tonen indien beschikbaar</string>
|
||||
<string name="show_popup">Pop-up tonen bij toetsaanslagen</string>
|
||||
|
@ -34,7 +35,7 @@
|
|||
<string name="keyboard_height">Hoogte toetsenbord</string>
|
||||
<string name="show_key_borders">Toetsen omranden</string>
|
||||
<string name="show_numbers_row">Cijfers op een aparte rij</string>
|
||||
<string name="start_sentences_capitalized">Start sentences with a capital letter</string>
|
||||
<string name="start_sentences_capitalized">Zinnen met een hoofdletter beginnen</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emoji\'s</string>
|
||||
<!--
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">کیبورڈ دی قسم بدلو</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">جے اُپلبدھ ہووے تاں کاپی کیتی لکھت ویکھو</string>
|
||||
<string name="show_popup">جدوں کنجی دباؤݨ کنجی تے وڈا اکھر ویکھو</string>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Change keyboard type</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Show clipboard content if available</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_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<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>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Mudar tipo de teclado</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<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>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Alterar tipo de teclado</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<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>
|
||||
|
@ -34,7 +35,7 @@
|
|||
<string name="keyboard_height">Altura do teclado</string>
|
||||
<string name="show_key_borders">Mostrar contorno das teclas</string>
|
||||
<string name="show_numbers_row">Mostrar números em linha distinta</string>
|
||||
<string name="start_sentences_capitalized">Start sentences with a capital letter</string>
|
||||
<string name="start_sentences_capitalized">Iniciar frases com letra maiúscula</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<!--
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Schimbați tipul de tastatură</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<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>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Изменить тип клавиатуры</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Пробел</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Показывать содержимое буфера обмена при наличии</string>
|
||||
<string name="show_popup">Показывать ввод по нажатию</string>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Zmeniť typ klávesnice</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Medzerník</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Zobraziť obsah schránky, ak je dostupná</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_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<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>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Промените тип тастатуре</string>
|
||||
<string name="keycode_shift">Смена</string>
|
||||
<string name="keycode_enter">Унеси</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Прикажи садржај међуспремника ако је доступан</string>
|
||||
<string name="show_popup">Прикажи искачући прозор при притиску на тастер</string>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<string name="clipboard_current">Nuvarande</string>
|
||||
<string name="clipboard_pinned">Nålad</string>
|
||||
<string name="add_new_item">Lägg till ett nytt objekt</string>
|
||||
<string name="manage_clips">Du kan hantera eller addera nya klipp här för snabb tillgänglighet.</string>
|
||||
<string name="manage_clips">Du kan hantera eller lägga till klipp här för snabb åtkomst.</string>
|
||||
<string name="clip_text">Klipp text</string>
|
||||
<string name="pin_text">Nåla text</string>
|
||||
<string name="text_pinned">Text har blivit nålad</string>
|
||||
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Ändra tangentbordstyp</string>
|
||||
<string name="keycode_shift">Skift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Visa urklippets innehåll om tillgängligt</string>
|
||||
<string name="show_popup">Visa en popupp vid knapptryck</string>
|
||||
|
@ -34,7 +35,7 @@
|
|||
<string name="keyboard_height">Tangentbordshöjd</string>
|
||||
<string name="show_key_borders">Visa ramar runt tangenterna</string>
|
||||
<string name="show_numbers_row">Visa siffror på en separat rad</string>
|
||||
<string name="start_sentences_capitalized">Start sentences with a capital letter</string>
|
||||
<string name="start_sentences_capitalized">Börja meningar med stor bokstav</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojier</string>
|
||||
<!--
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Change keyboard type</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Show clipboard content if available</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_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<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>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Змінити тип клавіатури</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Показувати вміст буфера обміну, якщо він є</string>
|
||||
<string name="show_popup">Показувати popup при натисканні</string>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">更改键盘类型</string>
|
||||
<string name="keycode_shift">上档</string>
|
||||
<string name="keycode_enter">输入</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">如可用显示剪贴板内容</string>
|
||||
<string name="show_popup">按键时显示弹框</string>
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
<string name="keycode_mode_change">變更鍵盤類型</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">可以的話顯示剪貼簿內容</string>
|
||||
<string name="show_popup">按下按鍵時顯示彈出效果</string>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<string name="keycode_mode_change">Change keyboard type</string>
|
||||
<string name="keycode_shift">Shift</string>
|
||||
<string name="keycode_enter">Enter</string>
|
||||
<string name="keycode_space">Spacebar</string>
|
||||
<!-- Settings -->
|
||||
<string name="show_clipboard_content">Show clipboard content if available</string>
|
||||
<string name="show_popup">Show a popup on keypress</string>
|
||||
|
|
|
@ -0,0 +1,213 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Keyboard xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<Row app:isNumbersRow="true">
|
||||
<Key
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyLabel="1"
|
||||
app:topSmallNumber="1" />
|
||||
<Key
|
||||
app:keyLabel="2"
|
||||
app:topSmallNumber="2" />
|
||||
<Key
|
||||
app:keyLabel="3"
|
||||
app:topSmallNumber="3" />
|
||||
<Key
|
||||
app:keyLabel="4"
|
||||
app:topSmallNumber="4" />
|
||||
<Key
|
||||
app:keyLabel="5"
|
||||
app:topSmallNumber="5" />
|
||||
<Key
|
||||
app:keyLabel="6"
|
||||
app:topSmallNumber="6" />
|
||||
<Key
|
||||
app:keyLabel="7"
|
||||
app:topSmallNumber="7" />
|
||||
<Key
|
||||
app:keyLabel="8"
|
||||
app:topSmallNumber="8" />
|
||||
<Key
|
||||
app:keyLabel="9"
|
||||
app:topSmallNumber="9" />
|
||||
<Key
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyLabel="0"
|
||||
app:topSmallNumber="0" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyLabel="q"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="1"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="1" />
|
||||
<Key
|
||||
app:keyLabel="w"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="2"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="2" />
|
||||
<Key
|
||||
app:keyLabel="e"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="éè3êëēę"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="3" />
|
||||
<Key
|
||||
app:keyLabel="r"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="ř4ŕ"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="4" />
|
||||
<Key
|
||||
app:keyLabel="t"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="5ť"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="5" />
|
||||
<Key
|
||||
app:keyLabel="y"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="ý6ÿ¥"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="6" />
|
||||
<Key
|
||||
app:keyLabel="u"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="űúù7ûüū"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="7" />
|
||||
<Key
|
||||
app:keyLabel="i"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="íì8îïī"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="8" />
|
||||
<Key
|
||||
app:keyLabel="o"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="őöøóôò9õō"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="9" />
|
||||
<Key
|
||||
app:keyLabel="p"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="0"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="0" />
|
||||
<Key
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyLabel="å"
|
||||
app:keyWidth="9.05%p" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyLabel="a"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="áàâãäåāæą"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="s"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="śßš"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="d"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="ďđ"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="f"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="₣"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="g"
|
||||
app:keyWidth="9.05%p" />
|
||||
<Key
|
||||
app:keyLabel="h"
|
||||
app:keyWidth="9.05%p" />
|
||||
<Key
|
||||
app:keyLabel="j"
|
||||
app:keyWidth="9.05%p" />
|
||||
<Key app:keyLabel="k" />
|
||||
<Key
|
||||
app:keyLabel="l"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="ĺľł"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="æ"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="ä"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyLabel="ø"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="ö"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
app:code="-1"
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyIcon="@drawable/ic_caps_outline_vector"
|
||||
app:keyWidth="15%p" />
|
||||
<Key
|
||||
app:keyLabel="z"
|
||||
app:popupCharacters="źžż"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key app:keyLabel="x" />
|
||||
<Key
|
||||
app:keyLabel="c"
|
||||
app:popupCharacters="çčć¢"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key app:keyLabel="v" />
|
||||
<Key app:keyLabel="b" />
|
||||
<Key
|
||||
app:keyLabel="n"
|
||||
app:popupCharacters="ňńñ"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key app:keyLabel="m" />
|
||||
<Key
|
||||
app:code="-5"
|
||||
app:isRepeatable="true"
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyIcon="@drawable/ic_clear_vector"
|
||||
app:keyWidth="15%p" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
app:code="-2"
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyLabel="123"
|
||||
app:keyWidth="15%p" />
|
||||
<Key
|
||||
app:keyLabel=","
|
||||
app:keyWidth="10%p" />
|
||||
<Key
|
||||
app:code="-6"
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyIcon="@drawable/ic_emoji_emotions_outline_vector"
|
||||
app:keyWidth="10%p"
|
||||
app:secondaryKeyIcon="@drawable/ic_language_outlined" />
|
||||
<Key
|
||||
app:code="32"
|
||||
app:isRepeatable="true"
|
||||
app:keyWidth="40%p" />
|
||||
<Key
|
||||
app:keyLabel="."
|
||||
app:keyWidth="10%p"
|
||||
app:popupCharacters=",?!;:…"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:code="-4"
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyIcon="@drawable/ic_enter_vector"
|
||||
app:keyWidth="15%p" />
|
||||
</Row>
|
||||
</Keyboard>
|
|
@ -0,0 +1,179 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Keyboard xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<Row app:isNumbersRow="true">
|
||||
<Key
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyLabel="1"
|
||||
app:topSmallNumber="1" />
|
||||
<Key
|
||||
app:keyLabel="2"
|
||||
app:topSmallNumber="2" />
|
||||
<Key
|
||||
app:keyLabel="3"
|
||||
app:topSmallNumber="3" />
|
||||
<Key
|
||||
app:keyLabel="4"
|
||||
app:topSmallNumber="4" />
|
||||
<Key
|
||||
app:keyLabel="5"
|
||||
app:topSmallNumber="5" />
|
||||
<Key
|
||||
app:keyLabel="6"
|
||||
app:topSmallNumber="6" />
|
||||
<Key
|
||||
app:keyLabel="7"
|
||||
app:topSmallNumber="7" />
|
||||
<Key
|
||||
app:keyLabel="8"
|
||||
app:topSmallNumber="8" />
|
||||
<Key
|
||||
app:keyLabel="9"
|
||||
app:topSmallNumber="9" />
|
||||
<Key
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyLabel="0"
|
||||
app:topSmallNumber="0" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyLabel="b"
|
||||
app:popupCharacters="1|¦"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="1" />
|
||||
<Key
|
||||
app:keyLabel="é"
|
||||
app:popupCharacters="e2éèê"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="2" />
|
||||
<Key
|
||||
app:keyLabel="p"
|
||||
app:popupCharacters="&3§"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="3" />
|
||||
<Key
|
||||
app:keyLabel="o"
|
||||
app:popupCharacters="ôœö4òóøõō"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="4" />
|
||||
<Key
|
||||
app:keyLabel="w"
|
||||
app:popupCharacters="5"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="5" />
|
||||
<Key
|
||||
app:keyLabel="v"
|
||||
app:popupCharacters="6"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="6" />
|
||||
<Key
|
||||
app:keyLabel="d"
|
||||
app:popupCharacters="ď7đ"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="7" />
|
||||
<Key
|
||||
app:keyLabel="l"
|
||||
app:popupCharacters="8"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="8" />
|
||||
<Key
|
||||
app:keyLabel="j"
|
||||
app:popupCharacters="9"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="9" />
|
||||
<Key
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyLabel="z"
|
||||
app:popupCharacters="źžż0"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="0" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyLabel="a"
|
||||
app:popupCharacters="áàâãäåāæą"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="u"
|
||||
app:popupCharacters="űúùûüū"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="i"
|
||||
app:popupCharacters="íìîïī"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="e"
|
||||
app:popupCharacters="éèêëēę"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="c"
|
||||
app:popupCharacters="ćçç"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="t"
|
||||
app:popupCharacters="ť"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key app:keyLabel="s" />
|
||||
<Key app:keyLabel="r" />
|
||||
<Key
|
||||
app:keyLabel="n"
|
||||
app:popupCharacters="ňńñ"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyLabel="m" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
app:code="-1"
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyIcon="@drawable/ic_caps_outline_vector" />
|
||||
<Key app:keyLabel="y" />
|
||||
<Key app:keyLabel="x" />
|
||||
<Key
|
||||
app:keyLabel="k"/>
|
||||
<Key app:keyLabel="-"
|
||||
app:popupCharacters="—_"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key app:keyLabel="q" />
|
||||
<Key app:keyLabel="g" />
|
||||
<Key app:keyLabel="h" />
|
||||
<Key app:keyLabel="f" />
|
||||
<Key
|
||||
app:code="-5"
|
||||
app:isRepeatable="true"
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyIcon="@drawable/ic_clear_vector" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
app:code="-2"
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyLabel="123"
|
||||
app:keyWidth="15%p" />
|
||||
<Key
|
||||
app:keyLabel=","
|
||||
app:keyWidth="10%p" />
|
||||
<Key
|
||||
app:code="-6"
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyIcon="@drawable/ic_emoji_emotions_outline_vector"
|
||||
app:secondaryKeyIcon="@drawable/ic_language_outlined"
|
||||
app:keyWidth="10%p" />
|
||||
<Key
|
||||
app:code="32"
|
||||
app:isRepeatable="true"
|
||||
app:keyWidth="40%p" />
|
||||
<Key
|
||||
app:keyLabel="."
|
||||
app:popupCharacters=",?!;:…"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:keyWidth="10%p" />
|
||||
<Key
|
||||
app:code="-4"
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyIcon="@drawable/ic_enter_vector"
|
||||
app:keyWidth="15%p" />
|
||||
</Row>
|
||||
</Keyboard>
|
|
@ -73,7 +73,7 @@
|
|||
app:topSmallNumber="7" />
|
||||
<Key
|
||||
app:keyLabel="i"
|
||||
app:popupCharacters="íìî8įïī"
|
||||
app:popupCharacters="íìîį8ïī"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="8" />
|
||||
<Key
|
||||
|
@ -159,17 +159,17 @@
|
|||
app:code="-6"
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyIcon="@drawable/ic_emoji_emotions_outline_vector"
|
||||
app:secondaryKeyIcon="@drawable/ic_language_outlined"
|
||||
app:keyWidth="10%p" />
|
||||
app:keyWidth="10%p"
|
||||
app:secondaryKeyIcon="@drawable/ic_language_outlined" />
|
||||
<Key
|
||||
app:code="32"
|
||||
app:isRepeatable="true"
|
||||
app:keyWidth="40%p" />
|
||||
<Key
|
||||
app:keyLabel="."
|
||||
app:keyWidth="10%p"
|
||||
app:popupCharacters=",?!;:…"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:keyWidth="10%p" />
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:code="-4"
|
||||
app:keyEdgeFlags="right"
|
||||
|
|
|
@ -0,0 +1,213 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Keyboard xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<Row app:isNumbersRow="true">
|
||||
<Key
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyLabel="1"
|
||||
app:topSmallNumber="1" />
|
||||
<Key
|
||||
app:keyLabel="2"
|
||||
app:topSmallNumber="2" />
|
||||
<Key
|
||||
app:keyLabel="3"
|
||||
app:topSmallNumber="3" />
|
||||
<Key
|
||||
app:keyLabel="4"
|
||||
app:topSmallNumber="4" />
|
||||
<Key
|
||||
app:keyLabel="5"
|
||||
app:topSmallNumber="5" />
|
||||
<Key
|
||||
app:keyLabel="6"
|
||||
app:topSmallNumber="6" />
|
||||
<Key
|
||||
app:keyLabel="7"
|
||||
app:topSmallNumber="7" />
|
||||
<Key
|
||||
app:keyLabel="8"
|
||||
app:topSmallNumber="8" />
|
||||
<Key
|
||||
app:keyLabel="9"
|
||||
app:topSmallNumber="9" />
|
||||
<Key
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyLabel="0"
|
||||
app:topSmallNumber="0" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyLabel="q"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="1"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="1" />
|
||||
<Key
|
||||
app:keyLabel="w"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="2"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="2" />
|
||||
<Key
|
||||
app:keyLabel="e"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="éè3êëēę"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="3" />
|
||||
<Key
|
||||
app:keyLabel="r"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="ř4ŕ"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="4" />
|
||||
<Key
|
||||
app:keyLabel="t"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="5ť"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="5" />
|
||||
<Key
|
||||
app:keyLabel="y"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="ý6ÿ¥"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="6" />
|
||||
<Key
|
||||
app:keyLabel="u"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="űúù7ûüū"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="7" />
|
||||
<Key
|
||||
app:keyLabel="i"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="íì8îïī"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="8" />
|
||||
<Key
|
||||
app:keyLabel="o"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="őöøóôò9õō"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="9" />
|
||||
<Key
|
||||
app:keyLabel="p"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="0"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="0" />
|
||||
<Key
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyLabel="å"
|
||||
app:keyWidth="9.05%p" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyLabel="a"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="áàâãäåāæą"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="s"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="śßš"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="d"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="ďđ"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="f"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="₣"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="g"
|
||||
app:keyWidth="9.05%p" />
|
||||
<Key
|
||||
app:keyLabel="h"
|
||||
app:keyWidth="9.05%p" />
|
||||
<Key
|
||||
app:keyLabel="j"
|
||||
app:keyWidth="9.05%p" />
|
||||
<Key app:keyLabel="k" />
|
||||
<Key
|
||||
app:keyLabel="l"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="ĺľł"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="ø"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="ö"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyLabel="æ"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="ä"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
app:code="-1"
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyIcon="@drawable/ic_caps_outline_vector"
|
||||
app:keyWidth="15%p" />
|
||||
<Key
|
||||
app:keyLabel="z"
|
||||
app:popupCharacters="źžż"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key app:keyLabel="x" />
|
||||
<Key
|
||||
app:keyLabel="c"
|
||||
app:popupCharacters="çčć¢"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key app:keyLabel="v" />
|
||||
<Key app:keyLabel="b" />
|
||||
<Key
|
||||
app:keyLabel="n"
|
||||
app:popupCharacters="ňńñ"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key app:keyLabel="m" />
|
||||
<Key
|
||||
app:code="-5"
|
||||
app:isRepeatable="true"
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyIcon="@drawable/ic_clear_vector"
|
||||
app:keyWidth="15%p" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
app:code="-2"
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyLabel="123"
|
||||
app:keyWidth="15%p" />
|
||||
<Key
|
||||
app:keyLabel=","
|
||||
app:keyWidth="10%p" />
|
||||
<Key
|
||||
app:code="-6"
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyIcon="@drawable/ic_emoji_emotions_outline_vector"
|
||||
app:keyWidth="10%p"
|
||||
app:secondaryKeyIcon="@drawable/ic_language_outlined" />
|
||||
<Key
|
||||
app:code="32"
|
||||
app:isRepeatable="true"
|
||||
app:keyWidth="40%p" />
|
||||
<Key
|
||||
app:keyLabel="."
|
||||
app:keyWidth="10%p"
|
||||
app:popupCharacters=",?!;:…"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:code="-4"
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyIcon="@drawable/ic_enter_vector"
|
||||
app:keyWidth="15%p" />
|
||||
</Row>
|
||||
</Keyboard>
|
|
@ -0,0 +1,212 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Keyboard xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<Row app:isNumbersRow="true">
|
||||
<Key
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyLabel="1"
|
||||
app:topSmallNumber="1" />
|
||||
<Key
|
||||
app:keyLabel="2"
|
||||
app:topSmallNumber="2" />
|
||||
<Key
|
||||
app:keyLabel="3"
|
||||
app:topSmallNumber="3" />
|
||||
<Key
|
||||
app:keyLabel="4"
|
||||
app:topSmallNumber="4" />
|
||||
<Key
|
||||
app:keyLabel="5"
|
||||
app:topSmallNumber="5" />
|
||||
<Key
|
||||
app:keyLabel="6"
|
||||
app:topSmallNumber="6" />
|
||||
<Key
|
||||
app:keyLabel="7"
|
||||
app:topSmallNumber="7" />
|
||||
<Key
|
||||
app:keyLabel="8"
|
||||
app:topSmallNumber="8" />
|
||||
<Key
|
||||
app:keyLabel="9"
|
||||
app:topSmallNumber="9" />
|
||||
<Key
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyLabel="0"
|
||||
app:topSmallNumber="0" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyLabel="q"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="1"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="1" />
|
||||
<Key
|
||||
app:keyLabel="w"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="2"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="2" />
|
||||
<Key
|
||||
app:keyLabel="e"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="éè3êëēę"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="3" />
|
||||
<Key
|
||||
app:keyLabel="r"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="ř4ŕ"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="4" />
|
||||
<Key
|
||||
app:keyLabel="t"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="5ť"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="5" />
|
||||
<Key
|
||||
app:keyLabel="y"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="ý6ÿ¥"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="6" />
|
||||
<Key
|
||||
app:keyLabel="u"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="űúù7ûüū"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="7" />
|
||||
<Key
|
||||
app:keyLabel="i"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="íì8îïī"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="8" />
|
||||
<Key
|
||||
app:keyLabel="o"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="őöøóôò9õō"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="9" />
|
||||
<Key
|
||||
app:keyLabel="p"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="0"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="0" />
|
||||
<Key
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyLabel="å"
|
||||
app:keyWidth="9.05%p" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyLabel="a"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="áàâãäåāæą"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="s"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="śßš"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="d"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="ďđ"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="f"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="₣"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="g"
|
||||
app:keyWidth="9.05%p" />
|
||||
<Key
|
||||
app:keyLabel="h"
|
||||
app:keyWidth="9.05%p" />
|
||||
<Key
|
||||
app:keyLabel="j"
|
||||
app:keyWidth="9.05%p" />
|
||||
<Key app:keyLabel="k" />
|
||||
<Key
|
||||
app:keyLabel="l"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="ĺľł"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyLabel="ö"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="Ͽ"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyLabel="ä"
|
||||
app:keyWidth="9.05%p"
|
||||
app:popupCharacters="æ"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
app:code="-1"
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyIcon="@drawable/ic_caps_outline_vector"
|
||||
app:keyWidth="15%p" />
|
||||
<Key
|
||||
app:keyLabel="z"
|
||||
app:popupCharacters="źžż"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key app:keyLabel="x" />
|
||||
<Key
|
||||
app:keyLabel="c"
|
||||
app:popupCharacters="çčć¢"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key app:keyLabel="v" />
|
||||
<Key app:keyLabel="b" />
|
||||
<Key
|
||||
app:keyLabel="n"
|
||||
app:popupCharacters="ňńñ"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key app:keyLabel="m" />
|
||||
<Key
|
||||
app:code="-5"
|
||||
app:isRepeatable="true"
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyIcon="@drawable/ic_clear_vector"
|
||||
app:keyWidth="15%p" />
|
||||
</Row>
|
||||
<Row>
|
||||
<Key
|
||||
app:code="-2"
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyLabel="123"
|
||||
app:keyWidth="15%p" />
|
||||
<Key
|
||||
app:keyLabel=","
|
||||
app:keyWidth="10%p" />
|
||||
<Key
|
||||
app:code="-6"
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyIcon="@drawable/ic_emoji_emotions_outline_vector"
|
||||
app:keyWidth="10%p"
|
||||
app:secondaryKeyIcon="@drawable/ic_language_outlined" />
|
||||
<Key
|
||||
app:code="32"
|
||||
app:isRepeatable="true"
|
||||
app:keyWidth="40%p" />
|
||||
<Key
|
||||
app:keyLabel="."
|
||||
app:keyWidth="10%p"
|
||||
app:popupCharacters=",?!;:…"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:code="-4"
|
||||
app:keyEdgeFlags="right"
|
||||
app:keyIcon="@drawable/ic_enter_vector"
|
||||
app:keyWidth="15%p" />
|
||||
</Row>
|
||||
</Keyboard>
|
|
@ -73,12 +73,12 @@
|
|||
app:topSmallNumber="7" />
|
||||
<Key
|
||||
app:keyLabel="ı"
|
||||
app:popupCharacters="íìî8ïī"
|
||||
app:popupCharacters="íì8îïī"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="8" />
|
||||
<Key
|
||||
app:keyLabel="o"
|
||||
app:popupCharacters="őöóôòõ9ō"
|
||||
app:popupCharacters="őöóô9òõō"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:topSmallNumber="9" />
|
||||
<Key
|
||||
|
@ -167,17 +167,17 @@
|
|||
app:code="-6"
|
||||
app:keyEdgeFlags="left"
|
||||
app:keyIcon="@drawable/ic_emoji_emotions_outline_vector"
|
||||
app:secondaryKeyIcon="@drawable/ic_language_outlined"
|
||||
app:keyWidth="10%p" />
|
||||
app:keyWidth="10%p"
|
||||
app:secondaryKeyIcon="@drawable/ic_language_outlined" />
|
||||
<Key
|
||||
app:code="32"
|
||||
app:isRepeatable="true"
|
||||
app:keyWidth="40%p" />
|
||||
<Key
|
||||
app:keyLabel="."
|
||||
app:keyWidth="10%p"
|
||||
app:popupCharacters=",?!;:…"
|
||||
app:popupKeyboard="@xml/keyboard_popup_template"
|
||||
app:keyWidth="10%p" />
|
||||
app:popupKeyboard="@xml/keyboard_popup_template" />
|
||||
<Key
|
||||
app:code="-4"
|
||||
app:keyEdgeFlags="right"
|
||||
|
|
Loading…
Reference in New Issue