/// we have a display connected
#define HAVE_DISPLAY

/// use a custom keyboard layout
#define HID_CUSTOM_LAYOUT

/// use german keyboard layout
#define LAYOUT_GERMAN

#ifdef HAVE_DISPLAY
/// no splash screen on OLED
#define SSD1306_NO_SPLASH
/// OLED display width, in pixels
#define SCREEN_WIDTH 128
/// OLED display height, in pixels
#define SCREEN_HEIGHT 32
/// OLED screen address
#define SCREEN_ADDRESS 0x3C
#endif

/// how long does the profile selection wait for a confirmation
#define SELECTION_TIME 10000

/// how long to show the profile name/icon until going into screen saver
#define PROFILE_TIME 60000

/// update timeout bar every second
#define BAR_UPDATE_TIME 1000

/// update usb devices every x ms if needed
#define UPDATE_INTERVAL 10

/// dead zone (noise) around the center of the joystick X axis
#define JOYSTICK_DEAD_ZONE_X 20

/// dead zone (noise) around the center of the joystick Y axcs
#define JOYSTICK_DEAD_ZONE_Y 20

/// i2c address of the external EEPROM
#define EXTERNAL_EEPROM 0x50

/// pin for analog mux bit 0
#define ANALOG_MUX0 6

/// pin for analog mux bit 1
#define ANALOG_MUX1 8

/// pin for analog mux bit 2
#define ANALOG_MUX2 9

/// pin for analog mux bit 3
#define ANALOG_MUX3 10

/// analog input pin
#define ANALOG_IN A1

/// rotary encoder interrupt pin
#define ROT_INT 7

/// scan analog every 12 milliseconds
#define ANALOG_INTERVAL 12

/// scan keys every 4 milliseconds
#define KEYSCAN_INTERVAL 4

/// number of profiles
#define NUMBER_OF_PROFILES 8
