Deseo crear un programa que me permita teclear una clave dura en un campo de texto del navegador, ya que contiene símbolos que son difíciles de teclear. Antes el campo los aceptaba, pero ahora el desarrollador deshabilito la opción 'pegar texto', por lo que ahora toca teclear la clave, lo cual es bastante difícil y me toma varios intentos, a veces me bloquean y me toca resetear la clave.
Le pedí ayuda a Chatgpt para que escribiera un programa que simule la pulsación de las teclas del teclado y me escribió este programa. Al ejecutarlo el compilador dice que hay un error en la line 27, que no se como solucionar. Adjunto el programa y el mensaje de error.
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
El error es este:
			
			Le pedí ayuda a Chatgpt para que escribiera un programa que simule la pulsación de las teclas del teclado y me escribió este programa. Al ejecutarlo el compilador dice que hay un error en la line 27, que no se como solucionar. Adjunto el programa y el mensaje de error.
			
				B4X:
			
		
		
		#Region Shared Files
#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files"
'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True
#End Region
'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip
Sub Process_Globals
    'Declarar aquí las variables globales
    Private fx As JFX
    Private MainForm As Form
    Private TextField1 As TextField
End Sub
Sub AppStart (Form1 As Form, Args() As String)
    MainForm = Form1
    MainForm.Title = "Ejemplo de simulación de pulsaciones de teclado"
    MainForm.RootPane.LoadLayout("MainPage")
    MainForm.Show
    
    'Crea una instancia de la clase Robot
    Dim robot As Robot
    robot.Initialize
    
    'Detecta cuando se presiona F5 y espera 2 segundos antes de simular las pulsaciones de teclado
    MainForm.RootPane.SetOnKeyPressed(Sub(event As KeyEvent)
        If event.KeyCode = KeyCodeToKeyEvent("F5") Then
            Sleep(2000)
            robot.keyPress(KeyCodeToKeyEvent("H"))
            robot.keyPress(KeyCodeToKeyEvent("o"))
            robot.keyPress(KeyCodeToKeyEvent("l"))
            robot.keyPress(KeyCodeToKeyEvent("a"))
            robot.keyPress(KeyCodeToKeyEvent(","))
            robot.keyPress(KeyCodeToKeyEvent(" "))
        
            'libera las teclas presionadas
            robot.keyRelease(KeyCodeToKeyEvent(" "))
            robot.keyRelease(KeyCodeToKeyEvent(","))
            robot.keyRelease(KeyCodeToKeyEvent("a"))
            robot.keyRelease(KeyCodeToKeyEvent("l"))
            robot.keyRelease(KeyCodeToKeyEvent("o"))
            robot.keyRelease(KeyCodeToKeyEvent("H"))
        End If
    End Sub)
End Sub
'Convierte un código de tecla en un evento de teclado
Private Sub KeyCodeToKeyEvent(KeyCode As String) As Int
    Dim event As KeyEvent
    event.Initialize(KeyCode, False, False, False, 0)
    Return event.KeyCode
End Sub
Public Sub Initialize
'    B4XPages.GetManager.LogEvents = True
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
    Root = Root1
    Root.LoadLayout("MainPage")
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Private Sub Button1_Click
    xui.MsgboxAsync("Hello world!", "B4X")
End Sub
	El error es este:
B4J Versión: 9.80
Parseando código. Error
Error al analizar el programa.
Descripción del error: La clave proporcionada no se encontró en el diccionario.
Ha ocurrido un error en la línea: 27 (B4XMainPage)
MainForm.RootPane.SetOnKeyPressed(Sub(event As KeyEvent)