Skip to content

Commit 1301348

Browse files
committed
feat: finalize floating keyboard and update gitignore
1 parent 7a5231c commit 1301348

15 files changed

Lines changed: 561 additions & 6 deletions

File tree

.gitignore

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ node_modules/
4040

4141
# AI Assistants & Context
4242
.aider*
43+
.superpowers/
4344
.qwen/
4445
QWEN.md
4546
**/QWEN.md
@@ -49,4 +50,12 @@ GEMINI.md
4950
Pdoc/
5051
.antigravityignore
5152
.gemini/
52-
help/
53+
help/
54+
.cursor/
55+
.cursorrules
56+
.cline/
57+
cline_docs/
58+
.rocline/
59+
.continue/
60+
prompt_history.json
61+
chat.json

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ SPDX-License-Identifier: Apache-2.0 AND GPL-3.0-only
1717
<uses-permission android:name="android.permission.READ_CONTACTS" />
1818
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
1919
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
20+
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
2021

2122
<application android:label="@string/english_ime_name"
2223
android:name="helium314.keyboard.latin.App"

app/src/main/java/helium314/keyboard/keyboard/KeyboardSwitcher.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -532,6 +532,14 @@ public void switchOneHandedMode() {
532532
Settings.getInstance().writeOneHandedModeGravity(mKeyboardViewWrapper.getOneHandedGravity());
533533
}
534534

535+
// Implements {@link KeyboardState.SwitchActions}.
536+
@Override
537+
public void toggleFloatingKeyboard() {
538+
if (mLatinIME != null && mLatinIME.getFloatingKeyboardManager() != null) {
539+
mLatinIME.getFloatingKeyboardManager().toggle();
540+
}
541+
}
542+
535543
public void toggleSplitKeyboardMode() {
536544
final Settings settings = Settings.getInstance();
537545
settings.writeSplitKeyboardEnabled(

app/src/main/java/helium314/keyboard/keyboard/internal/KeyboardIconsSet.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ class KeyboardIconsSet private constructor() {
9494
"incognito_key" to ToolbarKey.INCOGNITO.name.lowercase(Locale.US),
9595
"settings_key" to ToolbarKey.SETTINGS.name.lowercase(Locale.US),
9696
"start_onehanded_mode_key" to ToolbarKey.ONE_HANDED.name.lowercase(Locale.US),
97+
"floating_key" to ToolbarKey.FLOATING.name.lowercase(Locale.US),
9798
)
9899

99100
// todo: incognito and force incognito should not be the same? or not the same as toolbar key?
@@ -137,6 +138,7 @@ class KeyboardIconsSet private constructor() {
137138
ToolbarKey.CUT -> R.drawable.sym_keyboard_cut
138139
ToolbarKey.PASTE -> R.drawable.sym_keyboard_paste
139140
ToolbarKey.ONE_HANDED -> R.drawable.sym_keyboard_start_onehanded_holo
141+
ToolbarKey.FLOATING -> R.drawable.ic_drag_indicator
140142
ToolbarKey.INCOGNITO -> R.drawable.ic_incognito_final
141143
ToolbarKey.AUTOCORRECT -> R.drawable.ic_autocorrect
142144
ToolbarKey.CLEAR_CLIPBOARD -> R.drawable.sym_keyboard_clear_clipboard_holo
@@ -211,6 +213,7 @@ class KeyboardIconsSet private constructor() {
211213
ToolbarKey.CUT -> R.drawable.sym_keyboard_cut
212214
ToolbarKey.PASTE -> R.drawable.sym_keyboard_paste
213215
ToolbarKey.ONE_HANDED -> R.drawable.sym_keyboard_start_onehanded_lxx
216+
ToolbarKey.FLOATING -> R.drawable.ic_drag_indicator
214217
ToolbarKey.INCOGNITO -> R.drawable.ic_incognito_final
215218
ToolbarKey.AUTOCORRECT -> R.drawable.ic_autocorrect
216219
ToolbarKey.CLEAR_CLIPBOARD -> R.drawable.sym_keyboard_clear_clipboard_lxx
@@ -285,6 +288,7 @@ class KeyboardIconsSet private constructor() {
285288
ToolbarKey.CUT -> R.drawable.sym_keyboard_cut_rounded
286289
ToolbarKey.PASTE -> R.drawable.sym_keyboard_paste_rounded
287290
ToolbarKey.ONE_HANDED -> R.drawable.sym_keyboard_start_onehanded_rounded
291+
ToolbarKey.FLOATING -> R.drawable.ic_drag_indicator
288292
ToolbarKey.INCOGNITO -> R.drawable.ic_incognito_final
289293
ToolbarKey.AUTOCORRECT -> R.drawable.ic_autocorrect_rounded
290294
ToolbarKey.CLEAR_CLIPBOARD -> R.drawable.sym_keyboard_clear_clipboard_rounded

app/src/main/java/helium314/keyboard/keyboard/internal/KeyboardState.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ class KeyboardState(private val switchActions: SwitchActions) {
4949

5050
fun setOneHandedModeEnabled(enabled: Boolean)
5151
fun switchOneHandedMode()
52+
fun toggleFloatingKeyboard()
5253

5354
companion object {
5455
const val DEBUG_ACTION = false
@@ -666,6 +667,7 @@ class KeyboardState(private val switchActions: SwitchActions) {
666667
KeyCode.SYMBOL -> setSymbolsKeyboard()
667668
KeyCode.TOGGLE_ONE_HANDED_MODE -> setOneHandedModeEnabled(!Settings.getValues().mOneHandedModeEnabled)
668669
KeyCode.SWITCH_ONE_HANDED_MODE -> switchOneHandedMode()
670+
KeyCode.TOGGLE_FLOATING_KEYBOARD -> switchActions.toggleFloatingKeyboard()
669671
}
670672
}
671673

app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/floris/KeyCode.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ object KeyCode {
126126
// heliboard only codes
127127
const val SYMBOL_ALPHA = -10001
128128
const val TOGGLE_ONE_HANDED_MODE = -10002
129+
const val TOGGLE_FLOATING_KEYBOARD = -10072
129130
const val TOGGLE_ONE_HANDED_MODE_2 = -10003 // does the same as TOGGLE_ONE_HANDED_MODE (used to be start & stop)
130131
const val SWITCH_ONE_HANDED_MODE = -10004
131132
const val SHIFT_ENTER = -10005
@@ -216,7 +217,7 @@ object KeyCode {
216217
TIMESTAMP, CTRL_LEFT, CTRL_RIGHT, ALT_LEFT, ALT_RIGHT, META_LEFT, META_RIGHT, SEND_INTENT_ONE, SEND_INTENT_TWO,
217218
SEND_INTENT_THREE, INLINE_EMOJI_SEARCH_DONE, META_LOCK, PROOFREAD, TRANSLATE, SHOW_TRANSLATE_LANGUAGES,
218219
CUSTOM_AI_1, CUSTOM_AI_2, CUSTOM_AI_3, CUSTOM_AI_4, CUSTOM_AI_5,
219-
CUSTOM_AI_6, CUSTOM_AI_7, CUSTOM_AI_8, CUSTOM_AI_9, CUSTOM_AI_10, CLIPBOARD_SEARCH
220+
CUSTOM_AI_6, CUSTOM_AI_7, CUSTOM_AI_8, CUSTOM_AI_9, CUSTOM_AI_10, CLIPBOARD_SEARCH, TOGGLE_FLOATING_KEYBOARD
220221
-> this
221222

222223
// conversion

0 commit comments

Comments
 (0)