El diseño del teclado que la gente usa comúnmente es el diseño QWERTY como se muestra a continuación.
Pero también hay otros diseños de teclado:
DVORAK
COLEMAK
Tu tarea
Su código tomará dos entradas: el nombre de la distribución del teclado y una cadena para transcribir. Su objetivo es convertir su entrada QWERTY como si estuviera escribiendo con la distribución del teclado dada como primer parámetro.
Reglas
El formato de entrada es gratuito, puede usar cadenas, matrices, etc. Además, puede usar tres valores distintos para representar los diseños para reducir su conteo de bytes, pero cada uno debe ser representable en 10 bytes o menos.
Solo necesita manejar las teclas con un fondo blanco. Específicamente, debe transponer los caracteres ASCII imprimibles del alfabeto QWERTY a uno de los otros alfabetos:
QWERTY: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
DVORAK: !_#$%&-()*}w[vz0123456789SsW]VZ@AXJE>UIDCHTNMBRL"POYGK<QF:/\=^{`axje.uidchtnmbrl'poygk,qf;?|+~
COLEMAK: !"#$%&'()*+,-./0123456789Oo<=>?@ABCSFTDHUNEIMKY:QPRGLVWXJZ[\]^_`abcsftdhuneimky;qprglvwxjz{|}~
WORKMAN: !"#$%&'()*+,-./0123456789Ii<=>?@AVMHRTGYUNEOLKP:QWSBFCDXJZ[\]^_`avmhrtgyuneolkp;qwsbfcdxjz{|}~
(Nota: esto fue transcrito a mano por @ETHproductions, así que si ve algún error, ¡indíquelo!)
Ejemplo
DVORAK zZxX
como entrada dará como salida ;:qQ
Este es el código de golf, por lo que gana la respuesta más corta en bytes.
!_#$%&-()*}w[vz0123456789SsW]VZ@AXJE>UIDCHTNMBRL"POYGK<QF:/\=^{`axje.uidchtnmbrl'poygk,qf;?|+~
como entrada para el teclado Dvorak? Eso trivializaría el desafío ... ¿Qué tal si introducimos una restricción de longitud o algo similar?
!_#$%&-()*}w[vz0123456789SsW]VZ@AXJE>UIDCHTNMBRL"POYGK<QF:/\=^{`axje.uidchtnmbrl'poygk,qf;?|+~
como entrada