diff --git a/config/corne.conf b/config/corne.conf index 57381ef..b5ff56d 100644 --- a/config/corne.conf +++ b/config/corne.conf @@ -7,8 +7,24 @@ # Display options # CONFIG_ZMK_WPM=y # CONFIG_ZMK_WIDGET_WPM_STATUS=y +# OLED config +CONFIG_ZMK_DISPLAY=y +CONFIG_I2C=y +CONFIG_SSD1306=y +CONFIG_SSD1306_REVERSE_MODE=y +CONFIG_LVGL_HOR_RES_MAX=128 +CONFIG_LVGL_VER_RES_MAX=32 +CONFIG_LVGL_VDB_SIZE=64 +CONFIG_LVGL_DPI=148 +CONFIG_LVGL_BITS_PER_PIXEL=1 +CONFIG_LVGL_COLOR_DEPTH_1=y + +# Better compatibility with iPadOS +# CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y # Power options +# CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=7 +# CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=5400000 CONFIG_ZMK_SLEEP=y # Uncomment these two lines to add support for encoders diff --git a/config/corne.keymap b/config/corne.keymap index 7880b59..fd9031b 100644 --- a/config/corne.keymap +++ b/config/corne.keymap @@ -11,6 +11,9 @@ #include #include // }}} +#ifdef CONFIG_ZMK_DISPLAY +# include "oled.dtsi" +#endif // CONFIG_ZMK_DISPLAY #ifdef CONFIG_ZMK_RGB_UNDERGLOW // ### ifdef CONFIG_ZMK_RGB_UNDERGLOW {{{ # include diff --git a/config/oled.dtsi b/config/oled.dtsi new file mode 100644 index 0000000..9bac40d --- /dev/null +++ b/config/oled.dtsi @@ -0,0 +1,21 @@ +&i2c0 { + status = "okay"; + sda-pin = <39>; // nice!nano pin 107 + scl-pin = <34>; // nice!nano pin 102 + + oled: ssd1306@3c { + compatible = "solomon,ssd1306fb"; + reg = <0x3c>; + label = "DISPLAY"; + width = <128>; + height = <32>; + segment-offset = <0>; + page-offset = <0>; + display-offset = <0>; + multiplex-ratio = <31>; + com-invdir; + segment-remap; + com-sequential; + prechargep = <0x22>; + }; +};