diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..e394b6e
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,74 @@
+CMAKE_MINIMUM_REQUIRED (VERSION 3.10.1)
+
+PROJECT (Pocketbook-Texteditor VERSION 0.0.1)
+
+set(CMAKE_CXX_STANDARD 14)
+
+set(CMAKE_SYSTEM_NAME Linux)
+set(CMAKE_SYSTEM_VERSION 1.0)
+set(CMAKE_SYSTEM_PROCESSOR armv7a)
+set(BUILD_SHARED_LIBS ON)
+
+SET (TOOLCHAIN_PATH "../../SDK/SDK_6.3.0/SDK-B288")
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
+
+set(CMAKE_FIND_ROOT_PATH "${TOOLCHAIN_PATH}/usr/arm-obreey-linux-gnueabi/sysroot/")
+set(CMAKE_INCLUDE_PATH "/usr/include")
+message("CMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH}")
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+include_directories("${TOOLCHAIN_PATH}/usr/arm-obreey-linux-gnueabi/sysroot/usr/include/freetype2")
+list(APPEND CMAKE_MODULE_PATH "${TOOLCHAIN_PATH}/usr/share/cmake/modules")
+list(REMOVE_DUPLICATES CMAKE_MODULE_PATH)
+set(QT_QMAKE_EXECUTABLE "${TOOLCHAIN_PATH}/usr/arm-obreey-linux-gnueabi/sysroot/usr/qt5/bin/qmake")
+set(CMAKE_PREFIX_PATH "${TOOLCHAIN_PATH}/usr/arm-obreey-linux-gnueabi/sysroot/ebrmain/lib/cmake")
+
+set(CMAKE_C_COMPILER "${TOOLCHAIN_PATH}/usr/bin/arm-obreey-linux-gnueabi-clang")
+set(CMAKE_CXX_COMPILER "${TOOLCHAIN_PATH}/usr/bin/arm-obreey-linux-gnueabi-clang++")
+set(CMAKE_C_FLAGS "-fsigned-char -Werror-return-type" CACHE STRING "" FORCE)
+set(CMAKE_CXX_FLAGS "-fsigned-char -Werror-return-type" CACHE STRING "" FORCE)
+set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG -O2 -pipe -fomit-frame-pointer -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp " CACHE STRING "" FORCE)
+set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG -O2 -pipe -fomit-frame-pointer -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp " CACHE STRING "" FORCE)
+set(CMAKE_C_FLAGS_DEBUG "-DDEBUG -O0 -g -pipe -fomit-frame-pointer -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp " CACHE STRING "" FORCE)
+set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG -O0 -g -pipe -fomit-frame-pointer -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp " CACHE STRING "" FORCE)
+set(CMAKE_EXE_LINKER_FLAGS_RELEASE "-s" CACHE STRING "" FORCE)
+set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "-s" CACHE STRING "" FORCE)
+set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-z,defs" CACHE STRING "" FORCE)
+
+add_definitions(-DPLATFORM_FC)
+set(PB_PLATFORM "ARM" CACHE STRING "ARM|PC Readonly!")
+
+set(CMAKE_INSTALL_PREFIX "${TOOLCHAIN_PATH}/usr/arm-obreey-linux-gnueabi/sysroot/usr/local" CACHE PATH "Installation Prefix")
+set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel")
+set(ENV{PKG_CONFIG_DIR} "")
+set(ENV{PKG_CONFIG_LIBDIR} ${CMAKE_FIND_ROOT_PATH}/usr/lib/pkgconfig)
+set(ENV{PKG_CONFIG_SYSROOT_DIR} ${CMAKE_FIND_ROOT_PATH})
+set(ENV{LD_LIBRARY_PATH} ${TOOLCHAIN_PATH}/usr/lib)
+list(APPEND PB_LINK_DIRECTORIES "${TOOLCHAIN_PATH}/usr/arm-obreey-linux-gnueabi/sysroot/usr/lib")
+list(APPEND PB_LINK_DIRECTORIES "${TOOLCHAIN_PATH}/usr/arm-obreey-linux-gnueabi/sysroot/usr/local/lib")
+list(APPEND PB_INCLUDE_DIRECTORIES "${TOOLCHAIN_PATH}/usr/arm-obreey-linux-gnueabi/sysroot/usr/include")
+
+
+set(SOURCES ${CMAKE_SOURCE_DIR}/src/main.cpp
+ ${CMAKE_SOURCE_DIR}/src/handler/eventHandler.cpp
+ ${CMAKE_SOURCE_DIR}/src/handler/mainMenu.cpp
+ ${CMAKE_SOURCE_DIR}/src/util/log.cpp
+ ${CMAKE_SOURCE_DIR}/src/ui/devicesView.cpp
+ ${CMAKE_SOURCE_DIR}/src/ui/devicesViewEntry.cpp
+ ${CMAKE_SOURCE_DIR}/src/ui/listView.cpp
+ ${CMAKE_SOURCE_DIR}/src/ui/listViewEntry.cpp
+
+)
+
+add_executable(Texteditor.app ${SOURCES})
+
+include_directories(
+ ${CMAKE_SOURCE_DIR}/src/handler/
+ ${CMAKE_SOURCE_DIR}/src/util/
+ ${CMAKE_SOURCE_DIR}/src/ui/
+)
+
+target_link_libraries(Texteditor.app PRIVATE inkview pthread freetype)
+
+INSTALL (TARGETS Texteditor.app)
diff --git a/README.md b/README.md
index f6d5d3c..58d22fa 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,33 @@
# Pocketbook Texteditor
Texteditor for Pocketbook using a bluetooth keyboard.
-//TODO add screenshots
+
-## Features
+## Tested on
-## Requirements
+### Devices
+* Pocketbook Touch HD3 (PB632)
+
+### Keyboard
+* Logitech K380
+## Requirements
+* Bluetooth interface at PB
+* Application PBTerm (https://userpage.physik.fu-berlin.de/~jtt/PB/)
+* Root Access is necessary to register new inputs and access key events. (It is necessary to execute "jailbreak.app".) (https://www.mobileread.com/forums/showthread.php?t=325185)
## Installation
Download and unzip the file from releases and place the texteditor.app into the "applications" folder of your pocketbook.
+## Usage
+
+Currenlty the first pairing is not integrated into the application. Via the settings menu of the PB the registration of an keyboard is blocked. Therefore that has to be done once manually.
+Enable Bluetooth on the Pocketbook in the Settings menu.
+Open the PBTerm application and start bluetoothctl.
+There you have to pair your bluetooth keyboard. (https://wiki.archlinux.org/title/bluetooth_keyboard)
+
+Once you have the keyboard paired you can open the texteditor.app and should be able to see your keyboard. Once the keyboard is selected, the input mode is opened. (To exit input mode press "ESC")
+
## How to build
First you need to install the basic build tools for linux.
diff --git a/screenshots/textEditorDeviceSelection.bmp b/screenshots/textEditorDeviceSelection.bmp
new file mode 100755
index 0000000..8e41e19
Binary files /dev/null and b/screenshots/textEditorDeviceSelection.bmp differ
diff --git a/screenshots/textEditorInput.bmp b/screenshots/textEditorInput.bmp
new file mode 100755
index 0000000..ea6dc8f
Binary files /dev/null and b/screenshots/textEditorInput.bmp differ
diff --git a/screenshots/textEditorNoDevices.bmp b/screenshots/textEditorNoDevices.bmp
new file mode 100755
index 0000000..fc04c4a
Binary files /dev/null and b/screenshots/textEditorNoDevices.bmp differ
diff --git a/src/handler/eventHandler.cpp b/src/handler/eventHandler.cpp
new file mode 100644
index 0000000..460d389
--- /dev/null
+++ b/src/handler/eventHandler.cpp
@@ -0,0 +1,456 @@
+//------------------------------------------------------------------
+// eventHandler.cpp
+//
+// Author: JuanJakobo
+// Date: 22.04.2021
+//
+//-------------------------------------------------------------------
+
+#include "eventHandler.h"
+#include "inkview.h"
+
+#include "mainMenu.h"
+
+#include "log.h"
+
+#include "deviceModel.h"
+#include "devicesView.h"
+
+#include
+#include