Arduino Leonardo ATM32u4 Keyboard Layout

Buenas noches acabo de adquirir un Arduino Leonardo ATM32u4 y me gustaria saber si es posible cambiar el Keyboard Layout de "Keyboard.h". Ya que al momento de escribir toma el teclado o caracteres unicamente para el teclado en Ingles y me gustaria ponerlo en español es eso posible?

Gracias Saludos

Tienes el ascii map en el .cpp Tendrías que editar correctamente la librería aunque no entiendo cual es la gran diferencia salvo la Ñ entre las letras del inglés al español/castellano.

https://github.com/arduino-libraries/Keyboard/blob/master/src/Keyboard.cpp

El problema son los caracteres especiales, pero no encuentro como puedo conocer los valores de cada valor para poder modificarlos

Los valores están en Hexadecimal, con poner en google: "Convert ASCII to Hexadecimal" es suficiente. Por ejemplo: http://www.asciitohex.com/

Eso sí, ten en cuenta que la librería tiene unos valores por defecto en PROGMEM y en _asciimap y que al usar la función nativa pgm_read_byte() suma el valor de la tecla más _asciimap

else {              // it's a printing key
        k = pgm_read_byte(_asciimap + k);
        if (!k) {
            setWriteError();
            return 0;
        }
        if (k & 0x80) {                     // it's a capital letter or other character reached with shift
            _keyReport.modifiers |= 0x02;   // the left shift modifier
            k &= 0x7F;
        }
}

Así que no es hacer copy and paste sino entender un poco cómo funciona la librería.

Arduinito: Los valores están en Hexadecimal, con poner en google: "Convert ASCII to Hexadecimal" es suficiente. Por ejemplo: http://www.asciitohex.com/

Eso sí, ten en cuenta que la librería tiene unos valores por defecto en PROGMEM y en _asciimap y que al usar la función nativa pgm_read_byte() suma el valor de la tecla más _asciimap

else {                // it's a printing key
        k = pgm_read_byte(_asciimap + k);
        if (!k) {
            setWriteError();
            return 0;
        }
        if (k & 0x80) {                     // it's a capital letter or other character reached with shift
            _keyReport.modifiers |= 0x02;   // the left shift modifier
            k &= 0x7F;
        }
}

Así que no es hacer copy and paste sino entender un poco cómo funciona la librería.

Actualmente estoy haciendo las pruebas y supongo esto es lo que quiero lograr con mi teclado

!"#$%&'()*+,-./0123456789:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^`_abcdefghijklmnopqrstuvwxyz{|}~ @

Y con el teclado obtengo lo siguiente

!"$%&'()*+,-./0123456789:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ¬~¨´_abcdefghijklmnopqrstuvwxyz^`

Por poner un ejemplo me falta obtener el bslash \ y el @.

El bslash lo obtengo con altgr+' y el arroba altgr+q como ejemplo como podria empezar con esos 2 caracteres?

Mikel3e: Actualmente estoy haciendo las pruebas y supongo esto es lo que quiero lograr con mi teclado

!"#$%&'()*+,-./0123456789:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^`_abcdefghijklmnopqrstuvwxyz{|}~ @

Y con el teclado obtengo lo siguiente

!"$%&'()*+,-./0123456789:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ¬~¨´_abcdefghijklmnopqrstuvwxyz^`

Por poner un ejemplo me falta obtener el bslash \ y el @.

El bslash lo obtengo con altgr+' y el arroba altgr+q como ejemplo como podria empezar con esos 2 caracteres?

Podrias pasar el codigo que llevas?