class G15BrightnessController(object): def __init__(self): self._libg15 = ctypes.CDLL("libg15.so.1") if self._libg15.initLibG15() != 0: raise Exception("Unable to contact keyboard") def __del__(self): self._libg15.exitLibG15() def set_brightness(self, level): level = max(min(level, 2), 0) # Prevent potential segfaults. self._libg15.setLCDBrightness(ctypes.c_uint(level)) self._libg15.setKBBrightness(ctypes.c_uint(level))