Google's GBoard software keyboard has a Morse code mode.
Here's what characters it currently supports:
.-
→a
-...
→b
-.-.
→c
-..
→d
.
→e
..-.
→f
--.
→g
....
→h
..
→i
.---
→j
-.-
→k
.-..
→l
--
→m
-.
→n
---
→o
.--.
→p
--.-
→q
.-.
→r
...
→s
-
→t
..-
→u
...-
→v
.--
→w
-..-
→x
-.--
→y
--..
→z
-----
→0
.----
→1
..---
→2
...--
→3
....-
→4
.....
→5
-....
→6
--...
→7
---..
→8
----.
→9
.-.-.-
→.
--..--
→,
..--..
→?
.----.
→'
-.-.--
→!
-..-.
→/
-.--.
→(
-.--.-
→)
.-...
→&
---...
→:
-.-.-.
→;
-...-
→=
.-.-.
→+
-....-
→-
..--.-
→_
.--.-.
→@
.-..-.
→"
...-.
→*
-.-.-
→\
---.-
→%
--.-.
→#
--.-.-
→|
......
→^
.---..
→~
-..-.-
→`
...-..
→$
.--..
→[
.--..-
→]
.--.-
→{
.--.--
→}
-.---
→<
-.----
→>
..--
→[space]
.-.-
→[enter]
....-.
→[shift]
----
→[backspace]
.-----
→[candidate 1]
..----
→[candidate 2]
...---
→[candidate 3]
See https://ham.stackexchange.com/questions/10260/morse-code-meta-command-sequences/10440#10440 for context and a bit more high-level discussion.
Found in one of the files containing UPDATE_MORSE_BUFFER
of GBoard APK disassembly via online JADX tool ["com.google.android.inputmethod.latin_7.3.3.199102047-beta-arm64-v8a-26730306_minAPI21(arm64-v8a)(nodpi)_apkmirror.com_source_from_JADX/p000/ayb.java"], manually fixed up from a chained method call.
Thank you so much for this.