diff --git a/.gitmodules b/.gitmodules index 6dda283..74a7703 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,6 +7,3 @@ [submodule "unl0kr/lvgl"] path = unl0kr/lvgl url = https://github.com/littlevgl/lvgl.git -[submodule "unl0kr/lv_drivers"] - path = unl0kr/lv_drivers - url = https://github.com/calebccff/lv_drivers.git diff --git a/unl0kr/README.md b/unl0kr/README.md index 7e06662..11ac718 100644 --- a/unl0kr/README.md +++ b/unl0kr/README.md @@ -72,7 +72,6 @@ For an example configuration file, see [unl0kr.conf]. - [inih] - [lvgl] (git submodule / linked statically) -- [lv_drivers] (git submodule / linked statically) - [squeek2lvgl] (git submodule / linked statically) - [libinput] - [libudev] @@ -209,7 +208,6 @@ The [FontAwesome] font is licensed under the Open Font License version 1.1. [libudev]: https://github.com/systemd/systemd/tree/main/src/libudev [libxkbcommon]: https://github.com/xkbcommon/libxkbcommon [libdrm]: https://gitlab.freedesktop.org/mesa/drm -[lv_drivers]: https://github.com/lvgl/lv_drivers [lv_port_linux_frame_buffer]: https://github.com/lvgl/lv_port_linux_frame_buffer [lvgl]: https://github.com/lvgl/lvgl [online font converter]: https://lvgl.io/tools/fontconverter diff --git a/unl0kr/find-lvgl-sources.sh b/unl0kr/find-lvgl-sources.sh index c244bc8..2d539cf 100755 --- a/unl0kr/find-lvgl-sources.sh +++ b/unl0kr/find-lvgl-sources.sh @@ -4,7 +4,6 @@ # SPDX-License-Identifier: GPL-3.0-or-later -find lv_drivers -name '*.c' find lvgl/src -name 'lv_init.c' find lvgl/src/core -name '*.c' find lvgl/src/dev -name '*.c' diff --git a/unl0kr/indev.c b/unl0kr/indev.c index 64edc27..9d2e029 100644 --- a/unl0kr/indev.c +++ b/unl0kr/indev.c @@ -10,7 +10,6 @@ #include "log.h" #include "lvgl/src/indev/lv_indev_private.h" -#include "lv_drivers/indev/libinput_drv.h" #include #include @@ -37,7 +36,7 @@ * Static variables */ -static libinput_capability allowed_capability = LIBINPUT_CAPABILITY_NONE; +static lv_libinput_capability allowed_capability = LV_LIBINPUT_CAPABILITY_NONE; static struct udev *context = NULL; static struct udev_monitor *monitor = NULL; @@ -45,8 +44,7 @@ static int monitor_fd = -1; struct input_device { char *node; - libinput_capability capability; - libinput_drv_state_t drv_state; + lv_libinput_capability capability; lv_indev_t *indev; }; @@ -92,7 +90,7 @@ static bool is_touch_device(struct input_device *device); * @param capability input device capability * @return textual description */ -static char *capability_to_str(libinput_capability capability); +static char *capability_to_str(lv_libinput_capability capability); /** * Connect a specific input device using its udev device. @@ -122,14 +120,6 @@ static void disconnect_devnode(const char *node); */ static void disconnect_idx(int idx); -/** - * Perform an input read on a device using the libinput driver. - * - * @param indev input device - * @param data input device data to write into - */ -static void libinput_read_cb(lv_indev_t *indev, lv_indev_data_t *data); - /** * Set up the input group for a keyboard device. * @@ -150,25 +140,25 @@ static void set_mouse_cursor(struct input_device *device); */ static bool is_keyboard_device(struct input_device *device) { - return (device->capability & LIBINPUT_CAPABILITY_KEYBOARD) != LIBINPUT_CAPABILITY_NONE; + return (device->capability & LV_LIBINPUT_CAPABILITY_KEYBOARD) != LV_LIBINPUT_CAPABILITY_NONE; } static bool is_pointer_device(struct input_device *device) { - return (device->capability & LIBINPUT_CAPABILITY_POINTER) != LIBINPUT_CAPABILITY_NONE; + return (device->capability & LV_LIBINPUT_CAPABILITY_POINTER) != LV_LIBINPUT_CAPABILITY_NONE; } static bool is_touch_device(struct input_device *device) { - return (device->capability & LIBINPUT_CAPABILITY_TOUCH) != LIBINPUT_CAPABILITY_NONE; + return (device->capability & LV_LIBINPUT_CAPABILITY_TOUCH) != LV_LIBINPUT_CAPABILITY_NONE; } -static char *capability_to_str(libinput_capability capability) { - if (capability == LIBINPUT_CAPABILITY_KEYBOARD) { +static char *capability_to_str(lv_libinput_capability capability) { + if (capability == LV_LIBINPUT_CAPABILITY_KEYBOARD) { return "keyboard"; } - if (capability == LIBINPUT_CAPABILITY_POINTER) { + if (capability == LV_LIBINPUT_CAPABILITY_POINTER) { return "pointer"; } - if (capability == LIBINPUT_CAPABILITY_TOUCH) { + if (capability == LV_LIBINPUT_CAPABILITY_TOUCH) { return "touch"; } return "none"; @@ -217,17 +207,18 @@ static void connect_devnode(const char *node) { lv_memzero(device, sizeof(struct input_device)); devices[num_connected_devices] = device; - /* Get pointer to driver state */ - libinput_drv_state_t *drv_state = &(device->drv_state); - /* Copy the node path so that it can be used beyond the caller's scope */ device->node = strdup(node); - /* Initialise the driver state and obtain the libinput device */ - libinput_init_state(drv_state, device->node); - struct libinput_device *device_libinput = drv_state->libinput_device; - - /* If libinput failed to connect the device, exit */ + /* Initialise the indev and obtain the libinput device */ + device->indev = lv_libinput_create(LV_INDEV_TYPE_NONE, device->node); + if (!device->indev) { + ul_log(UL_LOG_LEVEL_WARNING, "Aborting connection of input device %s because libinput failed to connect it", node); + disconnect_idx(num_connected_devices); + return; + } + lv_libinput_t *dsc = lv_indev_get_driver_data(device->indev); + struct libinput_device *device_libinput = dsc->libinput_device; if (!device_libinput) { ul_log(UL_LOG_LEVEL_WARNING, "Aborting connection of input device %s because libinput failed to connect it", node); disconnect_idx(num_connected_devices); @@ -235,20 +226,15 @@ static void connect_devnode(const char *node) { } /* Obtain device capabilities */ - device->capability = libinput_query_capability(device_libinput); + device->capability = lv_libinput_query_capability(device_libinput); /* If the device doesn't have any supported capabilities, exit */ - if ((device->capability & allowed_capability) == LIBINPUT_CAPABILITY_NONE) { + if ((device->capability & allowed_capability) == LV_LIBINPUT_CAPABILITY_NONE) { ul_log(UL_LOG_LEVEL_WARNING, "Aborting connection of input device %s because it has no allowed capabilities", node); disconnect_idx(num_connected_devices); return; } - /* Initialise indev */ - device->indev = lv_indev_create(); - device->indev->read_cb = libinput_read_cb; - device->indev->user_data = drv_state; - /* * Set up indev type and related properties * @@ -335,7 +321,7 @@ static void disconnect_devnode(const char *node) { static void disconnect_idx(int idx) { /* Delete LVGL indev */ if (devices[idx]->indev) { - lv_indev_delete(devices[idx]->indev); + lv_libinput_delete(devices[idx]->indev); } /* Free previously copied node path */ @@ -343,18 +329,11 @@ static void disconnect_idx(int idx) { free(devices[idx]->node); } - /* De-initialise driver state */ - libinput_deinit_state(&(devices[idx]->drv_state)); - /* Deallocate memory and zero out freed array element */ free(devices[idx]); lv_memzero(devices + idx, sizeof(struct input_device *)); } -static void libinput_read_cb(lv_indev_t *indev, lv_indev_data_t *data) { - libinput_read_state(indev->user_data, indev, data); -} - static void set_keyboard_input_group(struct input_device *device) { /* Ignore non-keyboard devices */ if (!is_keyboard_device(device)) { @@ -387,15 +366,15 @@ static void set_mouse_cursor(struct input_device *device) { */ void ul_indev_set_allowed_device_capability(bool keyboard, bool pointer, bool touchscreen) { - allowed_capability = LIBINPUT_CAPABILITY_NONE; + allowed_capability = LV_LIBINPUT_CAPABILITY_NONE; if (keyboard) { - allowed_capability |= LIBINPUT_CAPABILITY_KEYBOARD; + allowed_capability |= LV_LIBINPUT_CAPABILITY_KEYBOARD; } if (pointer) { - allowed_capability |= LIBINPUT_CAPABILITY_POINTER; + allowed_capability |= LV_LIBINPUT_CAPABILITY_POINTER; } if (touchscreen) { - allowed_capability |= LIBINPUT_CAPABILITY_TOUCH; + allowed_capability |= LV_LIBINPUT_CAPABILITY_TOUCH; } } diff --git a/unl0kr/lv_conf.h b/unl0kr/lv_conf.h index 727571b..c032ea9 100644 --- a/unl0kr/lv_conf.h +++ b/unl0kr/lv_conf.h @@ -520,6 +520,23 @@ e.g. "stm32f769xx.h" or "stm32f429xx.h"*/ /*Interface for TFT_eSPI*/ #define LV_USE_TFT_ESPI 0 +/*Driver for libinput input devices*/ +#define LV_USE_LIBINPUT 1 + +#if LV_USE_LIBINPUT + #define LV_LIBINPUT_BSD 0 + + /*Full keyboard support*/ + #define LV_LIBINPUT_XKB 1 + #if LV_LIBINPUT_XKB + #define LV_LIBINPUT_XKB_KEY_MAP { .rules = NULL, \ + .model = "pc101", \ + .layout = "us", \ + .variant = NULL, \ + .options = NULL } /*"setxkbmap -query" can help find the right values for your keyboard*/ + #endif +#endif + /*================== * EXAMPLES *==================*/ diff --git a/unl0kr/lv_drivers b/unl0kr/lv_drivers deleted file mode 160000 index 924af83..0000000 --- a/unl0kr/lv_drivers +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 924af8301ccb669a5f0976a9ef1ab52d39ae4d0b diff --git a/unl0kr/lv_drv_conf.h b/unl0kr/lv_drv_conf.h deleted file mode 100644 index bf6210e..0000000 --- a/unl0kr/lv_drv_conf.h +++ /dev/null @@ -1,441 +0,0 @@ -/** - * Copyright 2021 Johannes Marbach - * SPDX-License-Identifier: GPL-3.0-or-later - */ - - -#if 1 /*Set it to "1" to enable the content*/ - -#ifndef LV_DRV_CONF_H -#define LV_DRV_CONF_H - -#include "lv_conf.h" - -/********************* - * DELAY INTERFACE - *********************/ -#define LV_DRV_DELAY_INCLUDE /*Dummy include by default*/ -#define LV_DRV_DELAY_US(us) /*delay_us(us)*/ /*Delay the given number of microseconds*/ -#define LV_DRV_DELAY_MS(ms) /*delay_ms(ms)*/ /*Delay the given number of milliseconds*/ - -/********************* - * DISPLAY INTERFACE - *********************/ - -/*------------ - * Common - *------------*/ -#define LV_DRV_DISP_INCLUDE /*Dummy include by default*/ -#define LV_DRV_DISP_CMD_DATA(val) /*pin_x_set(val)*/ /*Set the command/data pin to 'val'*/ -#define LV_DRV_DISP_RST(val) /*pin_x_set(val)*/ /*Set the reset pin to 'val'*/ - -/*--------- - * SPI - *---------*/ -#define LV_DRV_DISP_SPI_CS(val) /*spi_cs_set(val)*/ /*Set the SPI's Chip select to 'val'*/ -#define LV_DRV_DISP_SPI_WR_BYTE(data) /*spi_wr(data)*/ /*Write a byte the SPI bus*/ -#define LV_DRV_DISP_SPI_WR_ARRAY(adr, n) /*spi_wr_mem(adr, n)*/ /*Write 'n' bytes to SPI bus from 'adr'*/ - -/*------------------ - * Parallel port - *-----------------*/ -#define LV_DRV_DISP_PAR_CS(val) /*par_cs_set(val)*/ /*Set the Parallel port's Chip select to 'val'*/ -#define LV_DRV_DISP_PAR_SLOW /*par_slow()*/ /*Set low speed on the parallel port*/ -#define LV_DRV_DISP_PAR_FAST /*par_fast()*/ /*Set high speed on the parallel port*/ -#define LV_DRV_DISP_PAR_WR_WORD(data) /*par_wr(data)*/ /*Write a word to the parallel port*/ -#define LV_DRV_DISP_PAR_WR_ARRAY(adr, n) /*par_wr_mem(adr,n)*/ /*Write 'n' bytes to Parallel ports from 'adr'*/ - -/*************************** - * INPUT DEVICE INTERFACE - ***************************/ - -/*---------- - * Common - *----------*/ -#define LV_DRV_INDEV_INCLUDE /*Dummy include by default*/ -#define LV_DRV_INDEV_RST(val) /*pin_x_set(val)*/ /*Set the reset pin to 'val'*/ -#define LV_DRV_INDEV_IRQ_READ 0 /*pn_x_read()*/ /*Read the IRQ pin*/ - -/*--------- - * SPI - *---------*/ -#define LV_DRV_INDEV_SPI_CS(val) /*spi_cs_set(val)*/ /*Set the SPI's Chip select to 'val'*/ -#define LV_DRV_INDEV_SPI_XCHG_BYTE(data) 0 /*spi_xchg(val)*/ /*Write 'val' to SPI and give the read value*/ - -/*--------- - * I2C - *---------*/ -#define LV_DRV_INDEV_I2C_START /*i2c_start()*/ /*Make an I2C start*/ -#define LV_DRV_INDEV_I2C_STOP /*i2c_stop()*/ /*Make an I2C stop*/ -#define LV_DRV_INDEV_I2C_RESTART /*i2c_restart()*/ /*Make an I2C restart*/ -#define LV_DRV_INDEV_I2C_WR(data) /*i2c_wr(data)*/ /*Write a byte to the I1C bus*/ -#define LV_DRV_INDEV_I2C_READ(last_read) 0 /*i2c_rd()*/ /*Read a byte from the I2C bud*/ - - -/********************* - * DISPLAY DRIVERS - *********************/ - -/*------------------- - * Monitor of PC - *-------------------*/ -#ifndef USE_MONITOR -# define USE_MONITOR 0 -#endif - -#if USE_MONITOR -# define MONITOR_HOR_RES 480 -# define MONITOR_VER_RES 320 - -/* Scale window by this factor (useful when simulating small screens) */ -# define MONITOR_ZOOM 1 - -/* Used to test true double buffering with only address changing. - * Use 2 draw buffers, bith with MONITOR_HOR_RES x MONITOR_VER_RES size*/ -# define MONITOR_DOUBLE_BUFFERED 0 - -/*Eclipse: Visual Studio: */ -# define MONITOR_SDL_INCLUDE_PATH - -/*Open two windows to test multi display support*/ -# define MONITOR_DUAL 0 -#endif - -/*----------------------------------- - * Native Windows (including mouse) - *----------------------------------*/ -#ifndef USE_WINDOWS -# define USE_WINDOWS 0 -#endif - -#if USE_WINDOWS -# define WINDOW_HOR_RES 480 -# define WINDOW_VER_RES 320 -#endif - -/*---------------------------- - * Native Windows (win32drv) - *---------------------------*/ -#ifndef USE_WIN32DRV -# define USE_WIN32DRV 0 -#endif - -#if USE_WIN32DRV -/* Scale window by this factor (useful when simulating small screens) */ -# define WIN32DRV_MONITOR_ZOOM 1 -#endif - -/*---------------------------------------- - * GTK drivers (monitor, mouse, keyboard - *---------------------------------------*/ -#ifndef USE_GTK -# define USE_GTK 0 -#endif - -/*---------------------------------------- - * Wayland drivers (monitor, mouse, keyboard, touchscreen) - *---------------------------------------*/ -#ifndef USE_WAYLAND -# define USE_WAYLAND 0 -#endif - -#if USE_WAYLAND -# define WAYLAND_HOR_RES 480 -# define WAYLAND_VER_RES 320 -# define WAYLAND_SURF_TITLE "LVGL" -#endif - -/*---------------- - * SSD1963 - *--------------*/ -#ifndef USE_SSD1963 -# define USE_SSD1963 0 -#endif - -#if USE_SSD1963 -# define SSD1963_HOR_RES LV_HOR_RES -# define SSD1963_VER_RES LV_VER_RES -# define SSD1963_HT 531 -# define SSD1963_HPS 43 -# define SSD1963_LPS 8 -# define SSD1963_HPW 10 -# define SSD1963_VT 288 -# define SSD1963_VPS 12 -# define SSD1963_FPS 4 -# define SSD1963_VPW 10 -# define SSD1963_HS_NEG 0 /*Negative hsync*/ -# define SSD1963_VS_NEG 0 /*Negative vsync*/ -# define SSD1963_ORI 0 /*0, 90, 180, 270*/ -# define SSD1963_COLOR_DEPTH 16 -#endif - -/*---------------- - * R61581 - *--------------*/ -#ifndef USE_R61581 -# define USE_R61581 0 -#endif - -#if USE_R61581 -# define R61581_HOR_RES LV_HOR_RES -# define R61581_VER_RES LV_VER_RES -# define R61581_HSPL 0 /*HSYNC signal polarity*/ -# define R61581_HSL 10 /*HSYNC length (Not Implemented)*/ -# define R61581_HFP 10 /*Horitontal Front poarch (Not Implemented)*/ -# define R61581_HBP 10 /*Horitontal Back poarch (Not Implemented */ -# define R61581_VSPL 0 /*VSYNC signal polarity*/ -# define R61581_VSL 10 /*VSYNC length (Not Implemented)*/ -# define R61581_VFP 8 /*Vertical Front poarch*/ -# define R61581_VBP 8 /*Vertical Back poarch */ -# define R61581_DPL 0 /*DCLK signal polarity*/ -# define R61581_EPL 1 /*ENABLE signal polarity*/ -# define R61581_ORI 0 /*0, 180*/ -# define R61581_LV_COLOR_DEPTH 16 /*Fix 16 bit*/ -#endif - -/*------------------------------ - * ST7565 (Monochrome, low res.) - *-----------------------------*/ -#ifndef USE_ST7565 -# define USE_ST7565 0 -#endif - -#if USE_ST7565 -/*No settings*/ -#endif /*USE_ST7565*/ - -/*------------------------------ - * GC9A01 (color, low res.) - *-----------------------------*/ -#ifndef USE_GC9A01 -# define USE_GC9A01 0 -#endif - -#if USE_GC9A01 -/*No settings*/ -#endif /*USE_GC9A01*/ - -/*------------------------------------------ - * UC1610 (4 gray 160*[104|128]) - * (EA DOGXL160 160x104 tested) - *-----------------------------------------*/ -#ifndef USE_UC1610 -# define USE_UC1610 0 -#endif - -#if USE_UC1610 -# define UC1610_HOR_RES LV_HOR_RES -# define UC1610_VER_RES LV_VER_RES -# define UC1610_INIT_CONTRAST 33 /* init contrast, values in [%] */ -# define UC1610_INIT_HARD_RST 0 /* 1 : hardware reset at init, 0 : software reset */ -# define UC1610_TOP_VIEW 0 /* 0 : Bottom View, 1 : Top View */ -#endif /*USE_UC1610*/ - -/*------------------------------------------------- - * SHARP memory in pixel monochrome display series - * LS012B7DD01 (184x38 pixels.) - * LS013B7DH03 (128x128 pixels.) - * LS013B7DH05 (144x168 pixels.) - * LS027B7DH01 (400x240 pixels.) (tested) - * LS032B7DD02 (336x536 pixels.) - * LS044Q7DH01 (320x240 pixels.) - *------------------------------------------------*/ -#ifndef USE_SHARP_MIP -# define USE_SHARP_MIP 0 -#endif - -#if USE_SHARP_MIP -# define SHARP_MIP_HOR_RES LV_HOR_RES -# define SHARP_MIP_VER_RES LV_VER_RES -# define SHARP_MIP_SOFT_COM_INVERSION 0 -# define SHARP_MIP_REV_BYTE(b) /*((uint8_t) __REV(__RBIT(b)))*/ /*Architecture / compiler dependent byte bits order reverse*/ -#endif /*USE_SHARP_MIP*/ - -/*------------------------------------------------- - * ILI9341 240X320 TFT LCD - *------------------------------------------------*/ -#ifndef USE_ILI9341 -# define USE_ILI9341 0 -#endif - -#if USE_ILI9341 -# define ILI9341_HOR_RES LV_HOR_RES -# define ILI9341_VER_RES LV_VER_RES -# define ILI9341_GAMMA 1 -# define ILI9341_TEARING 0 -#endif /*USE_ILI9341*/ - -/*----------------------------------------- - * Linux frame buffer device (/dev/fbx) - *-----------------------------------------*/ -#ifndef USE_FBDEV -# define USE_FBDEV 0 -#endif - -#if USE_FBDEV -# define FBDEV_PATH "/dev/fb0" -#endif - -/*----------------------------------------- - * FreeBSD frame buffer device (/dev/fbx) - *.........................................*/ -#ifndef USE_BSD_FBDEV -# define USE_BSD_FBDEV 0 -#endif - -#if USE_BSD_FBDEV -# define FBDEV_PATH "/dev/fb0" -#endif - -/*----------------------------------------- - * DRM/KMS device (/dev/dri/cardX) - *-----------------------------------------*/ -#ifndef USE_DRM -# define USE_DRM 0 -#endif - -#if USE_DRM -# define DRM_CARD "/dev/dri/card0" -# define DRM_CONNECTOR_ID -1 /* -1 for the first connected one */ -#endif - -/********************* - * INPUT DEVICES - *********************/ - -/*-------------- - * XPT2046 - *--------------*/ -#ifndef USE_XPT2046 -# define USE_XPT2046 0 -#endif - -#if USE_XPT2046 -# define XPT2046_HOR_RES 480 -# define XPT2046_VER_RES 320 -# define XPT2046_X_MIN 200 -# define XPT2046_Y_MIN 200 -# define XPT2046_X_MAX 3800 -# define XPT2046_Y_MAX 3800 -# define XPT2046_AVG 4 -# define XPT2046_X_INV 0 -# define XPT2046_Y_INV 0 -# define XPT2046_XY_SWAP 0 -#endif - -/*----------------- - * FT5406EE8 - *-----------------*/ -#ifndef USE_FT5406EE8 -# define USE_FT5406EE8 0 -#endif - -#if USE_FT5406EE8 -# define FT5406EE8_I2C_ADR 0x38 /*7 bit address*/ -#endif - -/*--------------- - * AD TOUCH - *--------------*/ -#ifndef USE_AD_TOUCH -# define USE_AD_TOUCH 0 -#endif - -#if USE_AD_TOUCH -/*No settings*/ -#endif - - -/*--------------------------------------- - * Mouse or touchpad on PC (using SDL) - *-------------------------------------*/ -#ifndef USE_MOUSE -# define USE_MOUSE 0 -#endif - -#if USE_MOUSE -/*No settings*/ -#endif - -/*------------------------------------------- - * Mousewheel as encoder on PC (using SDL) - *------------------------------------------*/ -#ifndef USE_MOUSEWHEEL -# define USE_MOUSEWHEEL 0 -#endif - -#if USE_MOUSEWHEEL -/*No settings*/ -#endif - -/*------------------------------------------------- - * Touchscreen as libinput interface (for Linux based systems) - *------------------------------------------------*/ -#ifndef USE_LIBINPUT -# define USE_LIBINPUT 1 -#endif - -#ifndef USE_BSD_LIBINPUT -# define USE_BSD_LIBINPUT 0 -#endif - -#if USE_LIBINPUT || USE_BSD_LIBINPUT -# define LIBINPUT_NAME "/dev/input/event4" /*You can use the "evtest" Linux tool to get the list of devices and test them*/ -#endif /*USE_LIBINPUT*/ - -/*------------------------------------------------- - * Mouse or touchpad as evdev interface (for Linux based systems) - *------------------------------------------------*/ -#ifndef USE_EVDEV -# define USE_EVDEV 0 -#endif - -#ifndef USE_BSD_EVDEV -# define USE_BSD_EVDEV 0 -#endif - -#if USE_EVDEV || USE_BSD_EVDEV -# define EVDEV_NAME "/dev/input/event4" /*You can use the "evtest" Linux tool to get the list of devices and test them*/ -# define EVDEV_SWAP_AXES 0 /*Swap the x and y axes of the touchscreen*/ - -# define EVDEV_CALIBRATE 1 /*Scale and offset the touchscreen coordinates by using maximum and minimum values for each axis*/ - -# if EVDEV_CALIBRATE -# define EVDEV_HOR_MIN -3600 /*to invert axis swap EVDEV_XXX_MIN by EVDEV_XXX_MAX*/ -# define EVDEV_HOR_MAX 3866 /*"evtest" Linux tool can help to get the correct calibraion values>*/ -# define EVDEV_VER_MIN -2444 -# define EVDEV_VER_MAX 2550 -# endif /*EVDEV_CALIBRATE*/ -#endif /*USE_EVDEV*/ - -/*------------------------------------------------- - * Full keyboard support for evdev and libinput interface - *------------------------------------------------*/ -#if USE_LIBINPUT || USE_BSD_LIBINPUT || USE_EVDEV || USE_BSD_EVDEV -# ifndef USE_XKB -# define USE_XKB 1 -# endif - -# if USE_XKB -# define XKB_KEY_MAP { .rules = NULL, \ - .model = "pc101", \ - .layout = "us", \ - .variant = NULL, \ - .options = NULL } /*"setxkbmap -query" can help find the right values for your keyboard*/ -# endif /*USE_XKB*/ -#endif /*USE_LIBINPUT || USE_BSD_LIBINPUT || USE_EVDEV || USE_BSD_EVDEV*/ - -/*------------------------------- - * Keyboard of a PC (using SDL) - *------------------------------*/ -#ifndef USE_KEYBOARD -# define USE_KEYBOARD 0 -#endif - -#if USE_KEYBOARD -/*No settings*/ -#endif - -#endif /*LV_DRV_CONF_H*/ - -#endif /*End of "Content enable"*/ diff --git a/unl0kr/lvgl b/unl0kr/lvgl index da3ff11..4f9c16f 160000 --- a/unl0kr/lvgl +++ b/unl0kr/lvgl @@ -1 +1 @@ -Subproject commit da3ff11bd5e56a46e67aa15cae004b9877a8f377 +Subproject commit 4f9c16f1774b466b55e1dd819313431098521735 diff --git a/unl0kr/main.c b/unl0kr/main.c index 038b7ee..d1b1442 100644 --- a/unl0kr/main.c +++ b/unl0kr/main.c @@ -14,8 +14,6 @@ #include "theme.h" #include "themes.h" -#include "lv_drv_conf.h" - #include "lvgl/lvgl.h" #include "../squeek2lvgl/sq2lv.h" @@ -348,7 +346,7 @@ static void print_password_and_exit(lv_obj_t *textarea) { lv_obj_set_pos(rect, 0, 0); lv_obj_set_style_bg_opa(rect, LV_OPA_COVER, LV_PART_MAIN); lv_obj_set_style_bg_color(rect , lv_color_hex(get_theme(is_alternate_theme)->window.bg_color), LV_PART_MAIN); - lv_refr_now(lv_disp_get_default()); /* Force the screen to be drawn */ + lv_refr_now(lv_display_get_default()); /* Force the screen to be drawn */ /* Trigger SIGTERM to exit */ sigaction_handler(SIGTERM); diff --git a/unl0kr/meson.build b/unl0kr/meson.build index 9284ee1..b237671 100644 --- a/unl0kr/meson.build +++ b/unl0kr/meson.build @@ -51,14 +51,12 @@ endif lvgl_sources = run_command('find-lvgl-sources.sh', 'lvgl', check: true).stdout().strip().split('\n') -lv_drivers_sources = run_command('find-lvgl-sources.sh', 'lv_drivers', check: true).stdout().strip().split('\n') - install_data(sources: 'unl0kr.conf', install_dir : get_option('sysconfdir')) executable( 'unl0kr', - sources: unl0kr_sources + squeek2lvgl_sources + lvgl_sources + lv_drivers_sources, - include_directories: ['lvgl', 'lv_drivers'], + sources: unl0kr_sources + squeek2lvgl_sources + lvgl_sources, + include_directories: ['lvgl'], dependencies: unl0kr_dependencies, install: true )