Que tal johenron,
No se como tengas conectado tu switch rotatorio, si estés usando resistencias de pull-up con el común a tierra o estés usando resistencias de pull-down con el común a VDD (5V).
Si es el primer caso, entonces una de las tres terminales siempre está en nivel bajo y las optras dos en nivel alto. Es decir si supones que los tres puntos de pull-up son A,B y C y que está seleccionado el punto A, entonces tienes lo siguiente 011, ahora bien si giras hacia la derecha y suponiendo que el punto B está hacia la derecha, entonces ahora tendrías 101. Si has registrado el estado anterior, con el microcontrolador lo que estas observando es precisamente el giro hacia la derecha.
Ahora bien si el selector ya está seleccionando el punto B, eso significa que ahora tienes 101, correcto? Lo que significa que ahora el switch lo puedes girar a la direcha o a la izquierda. Pues bien, si giras a un sentido y obtienes 110, estás girando a la derecha, pero si obtienes 011, entonces estás girando a la izquierda. Así de simple. Si en lugar de resistencias pull-up tienes resistencias pull-down, simplemente inviertes la lógica (100 cuando el contacto A está seleccionado, y si gira a la derecha tendrías 010).
Espero esto te sirva.
Elreypic.