File Hawck-kernel_version.patch of Package Hawck

From 2949221e562db6adfb3413fab31451abc580e56d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20M=C3=B8ller?= <jonas.moller@student.uib.no>
Date: Sun, 24 Jan 2021 17:34:15 +0100
Subject: [PATCH] Fix #50

Maybe 4.x should be handled as well? Few desktops run it, and Hawck
isn't really useful for servers, so it's probably not necessary.
---
 src/UDevice.hpp | 94 +++++++++++++++++++++++++++++--------------------
 1 file changed, 55 insertions(+), 39 deletions(-)

diff --git a/src/UDevice.hpp b/src/UDevice.hpp
index d8a69d4..3257752 100644
--- a/src/UDevice.hpp
+++ b/src/UDevice.hpp
@@ -15,6 +15,7 @@ extern "C" {
     #include <lua.h>
     #include <lauxlib.h>
     #include <lualib.h>
+    #include <linux/version.h>
 }
 #include <string.h>
 #include <stdio.h>
@@ -270,46 +271,8 @@ static const std::vector<int> ALL_KEYS = {
     KEY_WIMAX,
     KEY_RFKILL,
     KEY_MICMUTE,
-    KEY_MACRO_RECORD_START,
-    KEY_MACRO_RECORD_STOP,
-    KEY_MACRO_PRESET_CYCLE,
-    KEY_MACRO_PRESET1,
-    KEY_MACRO_PRESET2,
-    KEY_MACRO_PRESET3,
-    KEY_MACRO1,
-    KEY_MACRO2,
-    KEY_MACRO3,
-    KEY_MACRO4,
-    KEY_MACRO5,
-    KEY_MACRO6,
-    KEY_MACRO7,
-    KEY_MACRO8,
-    KEY_MACRO9,
-    KEY_MACRO10,
-    KEY_MACRO11,
-    KEY_MACRO12,
-    KEY_MACRO13,
-    KEY_MACRO14,
-    KEY_MACRO15,
-    KEY_MACRO16,
-    KEY_MACRO17,
-    KEY_MACRO18,
-    KEY_MACRO19,
-    KEY_MACRO20,
-    KEY_MACRO21,
-    KEY_MACRO22,
-    KEY_MACRO23,
-    KEY_MACRO24,
-    KEY_MACRO25,
-    KEY_MACRO26,
-    KEY_MACRO27,
-    KEY_MACRO28,
-    KEY_MACRO29,
-    KEY_MACRO30,
     KEY_DATA,
     KEY_ONSCREEN_KEYBOARD,
-    KEY_PRIVACY_SCREEN_TOGGLE,
-    KEY_SELECTIVE_SCREENSHOT,
     KEY_AUDIO_DESC,
     KEY_3D_MODE,
     KEY_NEXT_FAVORITE,
@@ -505,7 +468,60 @@ static const std::vector<int> ALL_KEYS = {
     KEY_ATTENDANT_ON,
     KEY_ATTENDANT_OFF,
     KEY_ATTENDANT_TOGGLE,
-    KEY_LIGHTS_TOGGLE
+    KEY_LIGHTS_TOGGLE,
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 5, 0)
+    KEY_PRIVACY_SCREEN_TOGGLE,
+
+    KEY_MACRO1,
+    KEY_MACRO2,
+    KEY_MACRO3,
+    KEY_MACRO4,
+    KEY_MACRO5,
+    KEY_MACRO6,
+    KEY_MACRO7,
+    KEY_MACRO8,
+    KEY_MACRO9,
+    KEY_MACRO10,
+    KEY_MACRO11,
+    KEY_MACRO12,
+    KEY_MACRO13,
+    KEY_MACRO14,
+    KEY_MACRO15,
+    KEY_MACRO16,
+    KEY_MACRO17,
+    KEY_MACRO18,
+    KEY_MACRO19,
+    KEY_MACRO20,
+    KEY_MACRO21,
+    KEY_MACRO22,
+    KEY_MACRO23,
+    KEY_MACRO24,
+    KEY_MACRO25,
+    KEY_MACRO26,
+    KEY_MACRO27,
+    KEY_MACRO28,
+    KEY_MACRO29,
+    KEY_MACRO30,
+
+    KEY_MACRO_RECORD_START,
+    KEY_MACRO_RECORD_STOP,
+    KEY_MACRO_PRESET_CYCLE,
+    KEY_MACRO_PRESET1,
+    KEY_MACRO_PRESET2,
+    KEY_MACRO_PRESET3,
+#endif
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0)
+    KEY_SELECTIVE_SCREENSHOT,
+#endif
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0)
+    KEY_NOTIFICATION_CENTER,
+    KEY_PICKUP_PHONE,
+    KEY_HANGUP_PHONE,
+    KEY_FN_RIGHT_SHIFT,
+#endif
 };
 
 // Methods to export to Lua
openSUSE Build Service is sponsored by