Skip to content
Open
Changes from 1 commit
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
ee3055a
Update README.md
Poussinou Sep 16, 2018
047ea2f
Update README.md
senzhk Jan 6, 2020
3e88fdb
Update README.md
senzhk Jan 6, 2020
5205540
Add new method to send Meta key state
Apr 18, 2020
3e16825
Merge pull request #35 from ailin-nemui/meta-keycodes
senzhk May 30, 2020
45835fb
Merge pull request #19 from Poussinou/patch-1
senzhk May 30, 2020
c08c30f
Update sunshinewithmoonlight script.
senzhk May 30, 2020
df7e199
adding adb command to clear all text
senzhk Jun 20, 2020
e50bb40
Update README.md
senzhk Jun 20, 2020
933eb69
delete old apk
senzhk Jun 20, 2020
819acf9
new debug apk
senzhk Jun 20, 2020
90749e4
Update README.md
senzhk Jun 20, 2020
7bddbe5
fix gradle build
senzhk Sep 5, 2020
9a87473
Create android.yml
TSaltedfishKing Aug 10, 2021
90db9a5
Update android.yml
TSaltedfishKing Aug 12, 2021
6e36d88
Update android.yml
TSaltedfishKing Aug 12, 2021
dfccc11
Update android.yml
TSaltedfishKing Aug 12, 2021
42157db
Update android.yml
TSaltedfishKing Aug 12, 2021
129a82f
Merge pull request #45 from TSaltedfishKing/master
senzhk Aug 12, 2021
2fe2293
add info about enable and reset from CLI
alexcohn Sep 6, 2022
f7ab7dc
fix issues with sending meta key code
sinh15071997 Sep 16, 2022
c830b31
update apk and readme
sinh15071997 Sep 16, 2022
480182f
Merge pull request #48 from alexcohn/master
senzhk Oct 9, 2022
793699b
Merge pull request #50 from truong0vanchien/master
senzhk Oct 9, 2022
195ac32
change pipe to plus sign for two meta inputs
senzhk Oct 9, 2022
804a77c
Update README.md
senzhk Oct 9, 2022
ad86b55
remove adhoc release in root dir, moved to github release
senzhk Oct 9, 2022
1094d97
Merge branch 'master' of https://github.com/senzhk/ADBKeyboard
senzhk Oct 9, 2022
4f75ce4
Update README.md
senzhk Oct 9, 2022
a98a425
rollback
senzhk Oct 9, 2022
401a912
Merge branch 'master' of https://github.com/senzhk/ADBKeyboard
senzhk Oct 9, 2022
6f220f4
Update android.yml
senzhk Oct 9, 2022
4ae7b37
Update android.yml
senzhk Oct 9, 2022
8ca1829
Update android.yml
senzhk Oct 9, 2022
5ab1324
Update android.yml
senzhk Oct 9, 2022
402de3e
Update android.yml
senzhk Oct 9, 2022
10d3b4a
Update android.yml
senzhk Oct 9, 2022
9c1c0c3
Update AdbIME.java
senzhk Oct 9, 2022
3498268
Update android.yml
senzhk Oct 9, 2022
9b9904d
Update android.yml
senzhk Oct 9, 2022
989797d
new apk
senzhk Oct 9, 2022
4acf078
Merge branch 'master' of https://github.com/senzhk/ADBKeyboard
senzhk Oct 9, 2022
5bb9d35
Update README.md
senzhk Oct 9, 2022
7375d42
update sdk
senzhk Nov 22, 2023
5cbf32c
new apk for new OS vers
senzhk Nov 22, 2023
8dd0b69
fix the meta flow broke the normal msg flow.
senzhk Nov 23, 2023
96c0422
fix mcode
senzhk Nov 23, 2023
9466caa
Update README.md
senzhk Nov 23, 2023
793740a
Add IME action shortcuts for search, go, done, next, and send
hongwen000 Dec 3, 2025
2931f1c
Update Gradle configuration and AndroidManifest for compatibility
hongwen000 Dec 3, 2025
480be4f
Fix crash during IME_CLEAR_TEXT
hongwen000 Dec 24, 2025
d7a4505
Merge pull request #77 from dqtz5vpvj9-create/master
senzhk Jan 10, 2026
f05286a
fix the build error
senzhk Jan 10, 2026
d083620
Merge pull request #81 from senzhk/dev
senzhk Jan 10, 2026
efceadf
Update android.yml
senzhk Jan 10, 2026
1c592bd
Update android.yml
senzhk Jan 10, 2026
98dc653
fixing workflow to generate release apk
senzhk Jan 10, 2026
7932242
Update README.md - new latest apk
senzhk Jan 10, 2026
e286b92
chore(readme): add another script to paste from clipboard to adb
LemonNekoGH Feb 24, 2026
01a2fde
fix keyboard unusable on android-36
Rezisn Apr 23, 2026
42d3178
Merge pull request #82 from LemonNekoGH/patch-1
senzhk Apr 23, 2026
65874bf
Merge pull request #84 from Rezisn/fix/fix-keyboard-unusable-on-andro…
senzhk Apr 23, 2026
4b513f3
Update README.md
senzhk Apr 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add IME action shortcuts for search, go, done, next, and send
  • Loading branch information
hongwen000 committed Dec 3, 2025
commit 793740a203034ff4afd720c2269656fa3f2973d8
47 changes: 47 additions & 0 deletions keyboardservice/src/main/java/com/android/adbkeyboard/AdbIME.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import android.view.InputDevice;
import android.view.KeyEvent;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.ExtractedTextRequest;
import android.view.inputmethod.InputConnection;

Expand All @@ -21,6 +22,11 @@ public class AdbIME extends InputMethodService {
private String IME_EDITORCODE = "ADB_EDITOR_CODE";
private String IME_MESSAGE_B64 = "ADB_INPUT_B64";
private String IME_CLEAR_TEXT = "ADB_CLEAR_TEXT";
private String IME_ACTION_SEARCH = "ADB_ACTION_SEARCH";
private String IME_ACTION_GO = "ADB_ACTION_GO";
private String IME_ACTION_DONE = "ADB_ACTION_DONE";
private String IME_ACTION_NEXT = "ADB_ACTION_NEXT";
private String IME_ACTION_SEND = "ADB_ACTION_SEND";
private BroadcastReceiver mReceiver = null;

@Override
Expand All @@ -35,6 +41,11 @@ public View onCreateInputView() {
filter.addAction(IME_EDITORCODE);
filter.addAction(IME_MESSAGE_B64);
filter.addAction(IME_CLEAR_TEXT);
filter.addAction(IME_ACTION_SEARCH);
filter.addAction(IME_ACTION_GO);
filter.addAction(IME_ACTION_DONE);
filter.addAction(IME_ACTION_NEXT);
filter.addAction(IME_ACTION_SEND);
mReceiver = new AdbReceiver();
registerReceiver(mReceiver, filter);
}
Expand Down Expand Up @@ -160,6 +171,42 @@ public void onReceive(Context context, Intent intent) {
ic.deleteSurroundingText(beforePos.length(), afterPos.length());
}
}

// IME Actions - convenient shortcuts
if (intent.getAction().equals(IME_ACTION_SEARCH)) {
InputConnection ic = getCurrentInputConnection();
if (ic != null) {
ic.performEditorAction(EditorInfo.IME_ACTION_SEARCH);
}
}

if (intent.getAction().equals(IME_ACTION_GO)) {
InputConnection ic = getCurrentInputConnection();
if (ic != null) {
ic.performEditorAction(EditorInfo.IME_ACTION_GO);
}
}

if (intent.getAction().equals(IME_ACTION_DONE)) {
InputConnection ic = getCurrentInputConnection();
if (ic != null) {
ic.performEditorAction(EditorInfo.IME_ACTION_DONE);
}
}

if (intent.getAction().equals(IME_ACTION_NEXT)) {
InputConnection ic = getCurrentInputConnection();
if (ic != null) {
ic.performEditorAction(EditorInfo.IME_ACTION_NEXT);
}
}

if (intent.getAction().equals(IME_ACTION_SEND)) {
InputConnection ic = getCurrentInputConnection();
if (ic != null) {
ic.performEditorAction(EditorInfo.IME_ACTION_SEND);
}
}
}
}
}