# Auto Brightness Adjuster for Laptops
# Written By Sid for Sid's E Classroom
# http://www.youtube.com/c/SidsEClassroom

import time
import board
import math
from analogio import AnalogIn
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS
from adafruit_hid.Keycode import Keycode


# Declare the Pin to be connected to LDR
LDR_Pin = AnalogIn(board.D0)

OldLdrVal=''

# The keyboard object!
time.sleep(1)  # Sleep for a bit to avoid a race condition on some systems
keyboard=Keyboard()
# Change Layout according to your keyboard
keyboard_layout = KeyboardLayoutUS(keyboard)

# Function to convert Pin state to Voltage
def get_voltage(pin):
    return (pin.value * 3.3) / 65536


while True:
    Val=get_voltage(LDR_Pin)
    NewLdrVal=math.floor(Val/0.25)
    print(NewLdrVal)
    if OldLdrVal!=NewLdrVal:
        OldLdrVal=NewLdrVal
        if OldLdrVal==2:
            keyboard.press(Keycode.CONTROL,Keycode.ALT, Keycode.EQUALS)
            keyboard.release_all()
        elif OldLdrVal==3:
            keyboard.press(Keycode.CONTROL,Keycode.ALT, Keycode.NINE)
            keyboard.release_all()
        elif OldLdrVal==4:
            keyboard.press(Keycode.CONTROL,Keycode.ALT, Keycode.EIGHT)
            keyboard.release_all()
        elif OldLdrVal==5:
            keyboard.press(Keycode.CONTROL,Keycode.ALT, Keycode.SEVEN)
            keyboard.release_all()
        elif OldLdrVal==6:
            keyboard.press(Keycode.CONTROL,Keycode.ALT, Keycode.SIX)
            keyboard.release_all()
        elif OldLdrVal==7:
            keyboard.press(Keycode.CONTROL,Keycode.ALT, Keycode.FIVE)
            keyboard.release_all()
        elif OldLdrVal==8:
            keyboard.press(Keycode.CONTROL,Keycode.ALT, Keycode.FOUR)
            keyboard.release_all()
        elif OldLdrVal==9:
            keyboard.press(Keycode.CONTROL,Keycode.ALT, Keycode.THREE)
            keyboard.release_all()
        elif OldLdrVal==10:
            keyboard.press(Keycode.CONTROL,Keycode.ALT, Keycode.TWO)
            keyboard.release_all()
        elif OldLdrVal==11:
            keyboard.press(Keycode.CONTROL,Keycode.ALT, Keycode.ONE)
            keyboard.release_all()
        elif OldLdrVal==12:
            keyboard.press(Keycode.CONTROL,Keycode.ALT, Keycode.ZERO)
            keyboard.release_all()

    time.sleep(.01)
