Poco después de hacer la pregunta, me puse a explorar la segunda opción que había pensado, es decir, utilizar una aplicación intermedia de terceros para copiar el texto escrito, reemplazar los acentos, copiarlo de nuevo y pegarlo de nuevo en el campo de texto de la aplicación inicial.
Busqué en Tasker y después de un par de horas conseguí una solución rudimentaria pero efectiva usando su creador de diálogos rápidos (Escenas) con un campo de entrada y un solo botón. Pego el texto acentuado en el campo de entrada, hago clic en el botón, y elimina todos los acentos, copia al portapapeles y destruye la escena. Para facilitar el uso estoy lanzando ese desde un acceso directo de Task Cut que puede ser añadido a cualquier pantalla de inicio o incluso mejor, desde un Swipepad portal.
Así, la solución cruda e intermedia es la siguiente:
- escribir palabras griegas autocompletadas en mayúsculas en SMS u otra aplicación, seleccionar todo, copiar
- sin cambiar de aplicación, deslice el dedo hacia el acceso directo de Corte de Tarea que abre la Escena creada
- pegar en el campo de texto y hacer clic en el botón, que elimina los acentos de las vocales mayúsculas, copia de nuevo en el portapapeles y destruye la escena
- volver a la aplicación inicial, seleccionar todo, pegar sobrescribiendo con el texto sin acentuar
Lamentablemente, no es gratuito, ya que requiere la aplicación de pago Tasker. Esperemos que el teclado o al menos las aplicaciones de SMS permitan esta funcionalidad, o incluso mejor que alguien escriba el equivalente en una aplicación nativa de Android.
Incluyo a continuación el XML de Tasker que puedes utilizar para importar esto a Tasker, por si te resulta útil. Debajo de él estoy incluyendo otra versión que, al hacer clic en el botón, obtiene del portapapeles sin necesidad de que el usuario pegue el texto. Esa, sin embargo, requiere Root.
<TaskerData sr="" dvi="1" tv="1.3.1m">
<Scene sr="sceneRemove Accents From Greek Uppercase Vowels">
<cdate>1350679378737</cdate>
<edate>1350725381426</edate>
<gridSize>18</gridSize>
<heightLand>-1</heightLand>
<heightPort>362</heightPort>
<nme>Remove Accents From Greek Uppercase Vowels</nme>
<widthLand>-1</widthLand>
<widthPort>384</widthPort>
<EditTextElement sr="elements0">
<flags>4</flags>
<geom>20,20,343,214,-1,-1,-1,-1</geom>
<valueselectedTask>45</valueselectedTask>
<Str sr="arg0" ve="3">TxtUserInput</Str>
<Str sr="arg1" ve="3"/>
<Int sr="arg2" val="16"/>
<Int sr="arg3" val="100"/>
<Str sr="arg4" ve="3">#FF000000</Str>
<Int sr="arg5" val="0"/>
<Int sr="arg6" val="0"/>
<RectElement sr="background">
<flags>4</flags>
<geom>-1,-1,-1,-1,-1,-1,-1,-1</geom>
<Str sr="arg0" ve="3"/>
<Int sr="arg1" val="0"/>
<Str sr="arg2" ve="3">#77333333</Str>
<Str sr="arg3" ve="3">#77333333</Str>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3">#FF000000</Str>
<Int sr="arg6" val="0"/>
<Int sr="arg7" val="0"/>
</RectElement>
</EditTextElement>
<ButtonElement sr="elements1">
<clickTask>44</clickTask>
<flags>4</flags>
<geom>50,243,288,105,-1,-1,-1,-1</geom>
<Str sr="arg0" ve="3">BtnSubmittedText</Str>
<Str sr="arg1" ve="3">Remove accents and copy to clipboard</Str>
<Int sr="arg2" val="16"/>
<Int sr="arg3" val="100"/>
<Str sr="arg4" ve="3">#FF000000</Str>
<Int sr="arg5" val="0"/>
<Img sr="arg6" ve="2"/>
</ButtonElement>
</Scene>
<Task sr="task44">
<cdate>1350679493963</cdate>
<edate>1350679493963</edate>
<id>44</id>
<Action sr="act0" ve="3">
<code>547</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">%TxtUserInput</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
</Action>
<Action sr="act1" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
<Action sr="act10" ve="3">
<code>547</code>
<Str sr="arg0" ve="3">%TxtResult</Str>
<Str sr="arg1" ve="3">%TempUserInput</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
</Action>
<Action sr="act11" ve="3">
<code>105</code>
<label>Copied to clipboard</label>
<Str sr="arg0" ve="3">%TxtResult</Str>
<Int sr="arg1" val="0"/>
</Action>
<Action sr="act12" ve="3">
<code>49</code>
<Str sr="arg0" ve="3">Remove Accents From Greek Uppercase Vowels</Str>
</Action>
<Action sr="act2" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
<Action sr="act3" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
<Action sr="act4" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
<Action sr="act5" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
<Action sr="act6" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
<Action sr="act7" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
<Action sr="act8" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
<Action sr="act9" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
</Task>
<Task sr="task45">
<cdate>1350723583443</cdate>
<edate>1350723583443</edate>
<id>5</id>
<Action sr="act0" ve="3">
<code>547</code>
<Str sr="arg0" ve="3">%TxtUserInput</Str>
<Str sr="arg1" ve="3">%new_val</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
</Action>
</Task>
</TaskerData>
Lo siguiente ahorra 1 paso (pegar en la escena) pero requiere Root:
<TaskerData sr="" dvi="1" tv="1.3.1m">
<Scene sr="sceneRemove (ROOT) Accents From Greek Uppercase Vowels">
<cdate>1350679378737</cdate>
<edate>1350727181786</edate>
<gridSize>18</gridSize>
<heightLand>-1</heightLand>
<heightPort>362</heightPort>
<nme>Remove (ROOT) Accents From Greek Uppercase Vowels</nme>
<widthLand>-1</widthLand>
<widthPort>384</widthPort>
<EditTextElement sr="elements0">
<flags>4</flags>
<geom>20,20,343,214,-1,-1,-1,-1</geom>
<valueselectedTask>46</valueselectedTask>
<Str sr="arg0" ve="3">TxtUserInput</Str>
<Str sr="arg1" ve="3"/>
<Int sr="arg2" val="16"/>
<Int sr="arg3" val="100"/>
<Str sr="arg4" ve="3">#FF000000</Str>
<Int sr="arg5" val="0"/>
<Int sr="arg6" val="0"/>
<RectElement sr="background">
<flags>4</flags>
<geom>-1,-1,-1,-1,-1,-1,-1,-1</geom>
<Str sr="arg0" ve="3"/>
<Int sr="arg1" val="0"/>
<Str sr="arg2" ve="3">#77333333</Str>
<Str sr="arg3" ve="3">#77333333</Str>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3">#FF000000</Str>
<Int sr="arg6" val="0"/>
<Int sr="arg7" val="0"/>
</RectElement>
</EditTextElement>
<ButtonElement sr="elements1">
<clickTask>47</clickTask>
<flags>4</flags>
<geom>50,243,288,105,-1,-1,-1,-1</geom>
<Str sr="arg0" ve="3">BtnSubmittedText</Str>
<Str sr="arg1" ve="3">Remove accents and copy to clipboard</Str>
<Int sr="arg2" val="16"/>
<Int sr="arg3" val="100"/>
<Str sr="arg4" ve="3">#FF000000</Str>
<Int sr="arg5" val="0"/>
<Img sr="arg6" ve="2"/>
</ButtonElement>
</Scene>
<Task sr="task46">
<cdate>1350723583443</cdate>
<edate>1350723583443</edate>
<id>46</id>
<Action sr="act0" ve="3">
<code>547</code>
<Str sr="arg0" ve="3">%TxtUserInput</Str>
<Str sr="arg1" ve="3">%new_val</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
</Action>
</Task>
<Task sr="task47">
<cdate>1350679493963</cdate>
<edate>1350679493963</edate>
<id>47</id>
<Action sr="act0" ve="3">
<code>51</code>
<Str sr="arg0" ve="3">Remove (ROOT) Accents From Greek Uppercase Vowels</Str>
<Str sr="arg1" ve="3">TxtUserInput</Str>
<Int sr="arg2" val="0"/>
<Str sr="arg3" ve="3">%CLIP</Str>
</Action>
<Action sr="act1" ve="3">
<code>547</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">%TxtUserInput</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
</Action>
<Action sr="act10" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
<Action sr="act11" ve="3">
<code>547</code>
<Str sr="arg0" ve="3">%TxtResult</Str>
<Str sr="arg1" ve="3">%TempUserInput</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
</Action>
<Action sr="act12" ve="3">
<code>105</code>
<label>Copied to clipboard</label>
<Str sr="arg0" ve="3">%TxtResult</Str>
<Int sr="arg1" val="0"/>
</Action>
<Action sr="act13" ve="3">
<code>49</code>
<Str sr="arg0" ve="3">Remove (ROOT) Accents From Greek Uppercase Vowels</Str>
</Action>
<Action sr="act2" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
<Action sr="act3" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
<Action sr="act4" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
<Action sr="act5" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
<Action sr="act6" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
<Action sr="act7" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
<Action sr="act8" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
<Action sr="act9" ve="3">
<code>598</code>
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3"></Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3"></Str>
</Action>
</Task>
</TaskerData>
1 votos
En realidad, los SMS de 160 caracteres sólo aceptan los caracteres griegos en mayúscula que no se parecen a los latinos (). Por lo tanto, no se trata de quitar el acento, sino de convertirlo en la correspondiente letra mayúscula latina.