¿Cómo capturar event.keyCode y cambiarlo a otro keyCode?

He revisado otras preguntas aquí en SO, sin embargo, no responden mi pregunta. Simplemente quiero capturar cierto KeyCode y reemplazarlo por otro. Estoy trabajando con personajes, no con espacios en blanco, y no necesito perder el foco o algo similar.

Abajo está mi código. Pero puede reemplazar esos códigos de tecla con su (por ejemplo, cuando se presiona "A" mayúscula, debe reemplazarse con cero 0, etc.). La idea es reemplazar el keyCode.

phrase.keypress(function(event)
{
    if (event.shiftKey)
    {
        switch (event.keyCode)
        {
            // Cyrillic capitalized "Н" was pressed
            case 1053: event.keyCode = 1187; event.charCode = 1187; event.which = 1187; break;
            // Cyrillic capitalized "О" was pressed
            case 1054: event.keyCode = 1257; event.charCode = 1257; event.which = 1257; break;
            // Cyrillic capitalized "У" was pressed
            case 1059: event.keyCode = 1199; event.charCode = 1199; event.which = 1199; break;
        }
    }
});

Intenté con keydown y keyup también. No alteran el código clave. ¿Cómo puedo hacer eso

PD. Si es posible, estoy buscando una solución que no "event.preventDefault () e inserte manualmente la clave deseada al campo de entrada, luego mueva el cursor al final". Quiero una solución más limpia y "correcta". Gracias

Respuestas a la pregunta(4)

Su respuesta a la pregunta