- Update to version 0.6.1
Support for new devices: * K100 RGB Optical-Mechanical * K70 Core TKL RGB * K65 Mini Features: * Port to Qt6 Bug fixes: * The GUI no longer crashes on device disconnect * The slash key on the Brazilian (ABNT) layout now works with modern keyboards * Prevent possible USB connection issues on legacy devices * Resolve a crash on pure XWayland systems * Prevent memory leak on active window detection code - Switch build to Qt6 on Tumbleweed OBS-URL: https://build.opensuse.org/package/show/hardware/ckb-next?expand=0&rev=33
This commit is contained in:
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.osc
|
39
422.patch
Normal file
39
422.patch
Normal file
@@ -0,0 +1,39 @@
|
||||
https://github.com/ckb-next/ckb-next/pull/422
|
||||
|
||||
From 257d39dc187f818c6c77a7fb50b994eaa613cbb1 Mon Sep 17 00:00:00 2001
|
||||
From: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
|
||||
Date: Wed, 29 May 2019 05:28:33 +0200
|
||||
Subject: [PATCH] Do not prepend /usr to libexecdir
|
||||
|
||||
Fix #276
|
||||
|
||||
Without this patch, compiling with -DCMAKE_INSTALL_LIBEXECDIR=%{_libexecdir}
|
||||
expanded this to /usr//usr/lib/ckb-next-animations
|
||||
|
||||
and there is no rpm macro to have libexecdir without /usr
|
||||
but we need to use these macros to be able to use the same .spec file
|
||||
across distributions (Fedora has /usr/libexec and openSUSE has /usr/lib )
|
||||
|
||||
This matches usage in src/daemon/CMakeLists.txt
|
||||
diff -Naur ckb-next-0.6.0.orig/src/ckbnextconfig.h.in ckb-next-0.6.0/src/ckbnextconfig.h.in
|
||||
--- ckb-next-0.6.0.orig/src/ckbnextconfig.h.in 2023-06-22 23:07:29.000000000 +0200
|
||||
+++ ckb-next-0.6.0/src/ckbnextconfig.h.in 2023-06-25 11:15:37.424689978 +0200
|
||||
@@ -1,5 +1,5 @@
|
||||
#define CKB_NEXT_VERSION_STR "${ckb-next_VERSION}"
|
||||
-#define CKB_NEXT_ANIMATIONS_PATH "${CMAKE_INSTALL_PREFIX}/${INSTALL_DIR_ANIMATIONS}"
|
||||
+#define CKB_NEXT_ANIMATIONS_PATH "${INSTALL_DIR_ANIMATIONS}"
|
||||
#define CKB_NEXT_UTILITIES_PATH "${CMAKE_INSTALL_PREFIX}/${INSTALL_DIR_UTILITIES}"
|
||||
|
||||
#define CKB_NEXT_PROFILE_VER ${ckb-next_PROFILE_VER}
|
||||
diff -Naur ckb-next-0.6.0.orig/src/CMakeLists.txt ckb-next-0.6.0/src/CMakeLists.txt
|
||||
--- ckb-next-0.6.0.orig/src/CMakeLists.txt 2023-06-22 23:07:29.000000000 +0200
|
||||
+++ ckb-next-0.6.0/src/CMakeLists.txt 2023-06-25 11:16:37.568637199 +0200
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
# Export version, etc. to source code
|
||||
set(CKB_NEXT_VERSION_STR "${ckb-next_VERSION}")
|
||||
-set(CKB_NEXT_ANIMATIONS_PATH "${CMAKE_INSTALL_PREFIX}/${INSTALL_DIR_ANIMATIONS}")
|
||||
+set(CKB_NEXT_ANIMATIONS_PATH "${INSTALL_DIR_ANIMATIONS}")
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_LIST_DIR}/ckbnextconfig.h.in
|
||||
${CMAKE_BINARY_DIR}/ckbnextconfig.h)
|
3
ckb-next-0.6.0.tar.gz
Normal file
3
ckb-next-0.6.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:dd7c9a30ce7bf4fafcdfff974c519b2b3d2ff888c99d3255a6e0194ece5056f4
|
||||
size 1835972
|
3
ckb-next-0.6.1.tar.gz
Normal file
3
ckb-next-0.6.1.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:675fe181c008b23461e0d73394b5f7953de831bf7fe74092d1fc75bb167e7172
|
||||
size 1861827
|
13
ckb-next-no-cmake-modules.patch
Normal file
13
ckb-next-no-cmake-modules.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
Index: ckb-next-0.3.2/src/libs/ckb-next/CMakeLists.txt
|
||||
===================================================================
|
||||
--- ckb-next-0.3.2.orig/src/libs/ckb-next/CMakeLists.txt
|
||||
+++ ckb-next-0.3.2/src/libs/ckb-next/CMakeLists.txt
|
||||
@@ -67,7 +67,7 @@ configure_file(
|
||||
COPYONLY)
|
||||
|
||||
# Ignore these for now on macOS
|
||||
-if(NOT MACOS)
|
||||
+if(0)
|
||||
install(
|
||||
EXPORT ${PROJECT_NAME}Targets
|
||||
FILE
|
35
ckb-next-systemd.patch
Normal file
35
ckb-next-systemd.patch
Normal file
@@ -0,0 +1,35 @@
|
||||
Index: ckb-next-0.4.3/src/daemon/CMakeLists.txt
|
||||
===================================================================
|
||||
--- ckb-next-0.4.3.orig/src/daemon/CMakeLists.txt
|
||||
+++ ckb-next-0.4.3/src/daemon/CMakeLists.txt
|
||||
@@ -302,7 +302,7 @@ elseif (LINUX)
|
||||
endif ()
|
||||
|
||||
# A way to check for systemd
|
||||
- if (EXISTS "/run/systemd/system" OR "systemd" IN_LIST FORCE_INIT_SYSTEM)
|
||||
+ if (EXISTS "/usr/lib/systemd/system" OR "systemd" IN_LIST FORCE_INIT_SYSTEM)
|
||||
message(STATUS "systemd detected")
|
||||
set(CKB_NEXT_INIT_SYSTEM "systemd" CACHE INTERNAL "")
|
||||
set(SYSTEMD_UNIT_INSTALL_DIR "/usr/lib/systemd/system" CACHE STRING "Where to install systemd unit files.")
|
||||
@@ -415,7 +415,7 @@ if (MACOS)
|
||||
elseif (LINUX)
|
||||
install(
|
||||
TARGETS ckb-next-daemon
|
||||
- DESTINATION "bin")
|
||||
+ DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}")
|
||||
endif ()
|
||||
|
||||
# Declare target's auxiliary files installation paths
|
||||
Index: ckb-next-0.4.3/linux/systemd/ckb-next-daemon.service.in
|
||||
===================================================================
|
||||
--- ckb-next-0.4.3.orig/linux/systemd/ckb-next-daemon.service.in
|
||||
+++ ckb-next-0.4.3/linux/systemd/ckb-next-daemon.service.in
|
||||
@@ -5,7 +5,7 @@
|
||||
Description=Corsair Keyboards and Mice Daemon
|
||||
|
||||
[Service]
|
||||
-ExecStart=@CMAKE_INSTALL_PREFIX@/bin/ckb-next-daemon
|
||||
+ExecStart=@CMAKE_INSTALL_LIBEXECDIR@/ckb-next-daemon
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
8
ckb-next-udev.patch
Normal file
8
ckb-next-udev.patch
Normal file
@@ -0,0 +1,8 @@
|
||||
Index: ckb-next-0.4.0/linux/udev/99-ckb-next-daemon.rules
|
||||
===================================================================
|
||||
--- ckb-next-0.4.0.orig/linux/udev/99-ckb-next-daemon.rules
|
||||
+++ ckb-next-0.4.0/linux/udev/99-ckb-next-daemon.rules
|
||||
@@ -1,2 +1,2 @@
|
||||
# Mark ckb devices as not a joystick and create symlinks to the virtual input devices
|
||||
-ACTION=="add|change", SUBSYSTEM=="input", ATTRS{name}=="ckb[0-9]: [A-Za-z0-9]*", ENV{ID_INPUT_JOYSTICK}="", PROGRAM="/usr/bin/env sed 's/[0-9]: /-/' /sys/class/input/%k/device/name", ENV{.INPUT_NAME}="%c, "SYMLINK+="input/by-id/%E{.INPUT_NAME}-event"
|
||||
+ACTION=="add|change", SUBSYSTEM=="input", ATTRS{name}=="ckb[0-9]: [A-Za-z0-9]*", ENV{ID_INPUT_JOYSTICK}="", PROGRAM="/usr/bin/sed 's/[0-9]: /-/' /sys/class/input/%k/device/name", ENV{.INPUT_NAME}="%c, "SYMLINK+="input/by-id/%E{.INPUT_NAME}-event"
|
52
ckb-next-use-run.patch
Normal file
52
ckb-next-use-run.patch
Normal file
@@ -0,0 +1,52 @@
|
||||
diff -Naur ckb-next-0.6.0.orig/ckb-next-dev-detect ckb-next-0.6.0/ckb-next-dev-detect
|
||||
--- ckb-next-0.6.0.orig/ckb-next-dev-detect 2023-06-22 23:07:29.000000000 +0200
|
||||
+++ ckb-next-0.6.0/ckb-next-dev-detect 2023-06-25 10:58:28.109452264 +0200
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env bash
|
||||
+#!/bin/bash
|
||||
|
||||
# Newline
|
||||
N=$'\n'
|
||||
@@ -69,7 +69,7 @@
|
||||
OUT="${OUT}${N}${N}Daemon on current boot:${N}`journalctl -o short-precise -b 0 --unit=ckb-next-daemon 2>&1`"
|
||||
OUT="${OUT}${N}${N}Daemon on last boot:${N}`journalctl -o short-precise -b -1 --unit=ckb-next-daemon 2>&1`"
|
||||
fi
|
||||
- OUT="${OUT}${N}${N}Dev nodes:${N}`find /dev/input/ckb* -print -type f -exec cat {} \; 2>&1`"
|
||||
+ OUT="${OUT}${N}${N}Dev nodes:${N}`find /run/ckb* -print -type f -exec cat {} \; 2>&1`"
|
||||
OUT="${OUT}${N}${N}Kernel command line:${N}`cat /proc/cmdline`"
|
||||
GUIPATH="$(which ckb-next)"
|
||||
OUT="${OUT}${N}${N}GUI ldd:${N}`ldd ${GUIPATH}`"
|
||||
diff -Naur ckb-next-0.6.0.orig/src/daemon/devnode.c ckb-next-0.6.0/src/daemon/devnode.c
|
||||
--- ckb-next-0.6.0.orig/src/daemon/devnode.c 2023-06-22 23:07:29.000000000 +0200
|
||||
+++ ckb-next-0.6.0/src/daemon/devnode.c 2023-06-25 11:00:12.833333006 +0200
|
||||
@@ -7,13 +7,7 @@
|
||||
#include "profile.h"
|
||||
#include <ckbnextconfig.h>
|
||||
|
||||
-// OSX doesn't like putting FIFOs in /dev for some reason
|
||||
-// Don't make these pointers, as doing so will result in sizeof() not producing the correct result.
|
||||
-#ifndef OS_MAC
|
||||
-#define DEVPATH "/dev/input/ckb"
|
||||
-#else
|
||||
-#define DEVPATH "/var/run/ckb"
|
||||
-#endif
|
||||
+#define DEVPATH "/run/ckb"
|
||||
|
||||
const char devpath[] = DEVPATH;
|
||||
#define DEVPATH_LEN (sizeof(devpath) - 1)
|
||||
diff -Naur ckb-next-0.6.0.orig/src/gui/kbmanager.cpp ckb-next-0.6.0/src/gui/kbmanager.cpp
|
||||
--- ckb-next-0.6.0.orig/src/gui/kbmanager.cpp 2023-06-22 23:07:29.000000000 +0200
|
||||
+++ ckb-next-0.6.0/src/gui/kbmanager.cpp 2023-06-25 11:01:01.785277266 +0200
|
||||
@@ -2,11 +2,7 @@
|
||||
#include "idletimer.h"
|
||||
#include <limits>
|
||||
|
||||
-#ifndef Q_OS_MACOS
|
||||
-QString devpath = "/dev/input/ckb%1";
|
||||
-#else
|
||||
-QString devpath = "/var/run/ckb%1";
|
||||
-#endif
|
||||
+QString devpath = "/run/ckb%1";
|
||||
|
||||
#ifdef DEBUG_IDLE_TIMER
|
||||
#define IDLE_TIMER_DURATION 5000
|
474
ckb-next.changes
Normal file
474
ckb-next.changes
Normal file
@@ -0,0 +1,474 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 10 11:35:11 UTC 2025 - Luigi Baldoni <aloisio@gmx.com>
|
||||
|
||||
- Update to version 0.6.1
|
||||
Support for new devices:
|
||||
* K100 RGB Optical-Mechanical
|
||||
* K70 Core TKL RGB
|
||||
* K65 Mini
|
||||
Features:
|
||||
* Port to Qt6
|
||||
Bug fixes:
|
||||
* The GUI no longer crashes on device disconnect
|
||||
* The slash key on the Brazilian (ABNT) layout now works with
|
||||
modern keyboards
|
||||
* Prevent possible USB connection issues on legacy devices
|
||||
* Resolve a crash on pure XWayland systems
|
||||
* Prevent memory leak on active window detection code
|
||||
- Switch build to Qt6 on Tumbleweed
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 25 09:49:23 UTC 2023 - Jannik Seiler <seil0@mosad.xyz>
|
||||
|
||||
- Update to version 0.6.0
|
||||
Support for new devices:
|
||||
* K55 RGB PRO
|
||||
* K55 RGB PRO XT
|
||||
* K60 PRO (Monochrome)
|
||||
* K60 PRO TKL RGB
|
||||
* Dark Core RGB Pro (experimental)
|
||||
* Dark Core RGB Pro SE (experimental)
|
||||
* Slipstream wireless dongle (when paired with a single supported device)
|
||||
Important bugfixes:
|
||||
* The Fn key now behaves as expected on the K65
|
||||
* The GUI now accepts macros containing the ISO backslash key
|
||||
* A workaround is now implemented to prevent the media keys on the Strafe from getting stuck pressed
|
||||
* The daemon no longer crashes with a buffer overflow detected message on start under certain conditions
|
||||
* The WinLock LED now functions on the K55 RGB and K55 RGB Pro XT
|
||||
* The GUI no longer crashes under certain conditions when the sound server is being restarted
|
||||
* The battery states are now reported correctly in the GUI
|
||||
* The brightness is now correctly set for newer devices (and the lights now turn off instantly)
|
||||
New features:
|
||||
* The device previews are now rendered using the GPU
|
||||
* Horizontal scrolling is now available for binding
|
||||
* The mute indicator can now indicate either the default output or input audio device
|
||||
* The music visualizer now supports automatic gain control, automatically adapting to volume changes
|
||||
* It is now possible to pair wireless devices with dongles (not in GUI yet)
|
||||
- Refresh ckb-next-use-run.patch
|
||||
- Refresh 422.patch
|
||||
- Drop fix_buffer_overflow_FORTIFY_SOURCE.patch, fixed upstream
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 10 18:21:31 UTC 2023 - Luigi Baldoni <aloisio@gmx.com>
|
||||
|
||||
- Add fix_buffer_overflow_FORTIFY_SOURCE.patch (see
|
||||
gh#ckb-next/ckb-next/issues#940)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 27 11:09:17 UTC 2022 - Luigi Baldoni <aloisio@gmx.com>
|
||||
|
||||
- Update to version 0.5.0
|
||||
Support for new devices:
|
||||
* Katar Pro
|
||||
* Katar Pro XT
|
||||
* Glaive Pro
|
||||
* M55
|
||||
* K60 Pro RGB
|
||||
* K60 Pro RGB Low Profile
|
||||
* K60 Pro RGB SE
|
||||
Important bugfixes:
|
||||
* Scroll wheels are now treated as axes (Responsiveness should
|
||||
be improved for specific mice)
|
||||
* The lights on the K95 RGB Platinum top bar are now updated
|
||||
correctly
|
||||
* An infinite loop is prevented if certain USB information can
|
||||
not be read
|
||||
* GUI no longer crashes on exit under certain conditions
|
||||
* Mouse scrolling works again when combined with specific
|
||||
libinput versions
|
||||
* The daemon no longer hangs when quitting due to LED keyboard
|
||||
indicators
|
||||
* The lighting programming key can now be rebound on K95 Legacy
|
||||
* Animations won't break due to daylight savings / system time
|
||||
changes
|
||||
* GUI doesn't crash when switching to a hardware mode on a
|
||||
fresh installation
|
||||
* Daemon no longer causes a kernel Oops on resume under
|
||||
certain conditions (Devices now resume correctly from sleep)
|
||||
* Window detection is more reliable and works correctly on
|
||||
system boot
|
||||
* Settings tab now stretches correctly
|
||||
* Profile switch button can now be bound correctly on mice
|
||||
* ISO Enter key is now aligned correctly
|
||||
* Bindings are now consistent between demo and new modes
|
||||
* Firmware update dialog is no longer cut off and can be
|
||||
resized
|
||||
* RGB data won't be sent to the daemon when brightness is set
|
||||
to 0%
|
||||
New features:
|
||||
* German translation
|
||||
* 66 service (not installed automatically)
|
||||
* Device previews are now resizable
|
||||
- Refresh ckb-next-use-run.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 15 12:11:27 UTC 2021 - Johannes Segitz <jsegitz@suse.com>
|
||||
|
||||
- Drop ProtectClock hardening, can cause issues if other device acceess is needed
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 27 19:07:46 UTC 2021 - Luigi Baldoni <aloisio@gmx.com>
|
||||
|
||||
- Re-labeled 422.patch
|
||||
- Updated harden_ckb-next-daemon.service.patch to fix
|
||||
gh#ckb-next/ckb-next#740
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 26 07:23:55 UTC 2021 - Johannes Segitz <jsegitz@suse.com>
|
||||
|
||||
- Added hardening to systemd service(s). Added patch(es):
|
||||
* harden_ckb-next-daemon.service.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 7 11:31:57 UTC 2021 - Ludwig Nussel <lnussel@suse.de>
|
||||
|
||||
- Fix fix double slash in //bin/bash requirement
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 18 15:53:16 UTC 2021 - Luigi Baldoni <aloisio@gmx.com>
|
||||
|
||||
- Update to version 0.4.4
|
||||
Important bugfixes:
|
||||
* Fixed a crash when creating a new profile
|
||||
* Fixed lights turning off unexpectedly or not being restored
|
||||
correctly
|
||||
* Macros can now be repeated quickly by repeatedly pressing
|
||||
the keys
|
||||
* Fixed various deadlocks when resuming from suspend or during
|
||||
device initialisation
|
||||
* Fixed devices not functioning during system boot requiring a
|
||||
daemon restart
|
||||
- Refreshed ckb-next-use-run.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 18 07:44:11 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
|
||||
|
||||
* Update to version 0.4.3
|
||||
Support for new devices:
|
||||
* Scimitar RGB Elite
|
||||
* Nightsword RGB
|
||||
Important bugfixes:
|
||||
* Fixed delay when shutting down with K95 RGB
|
||||
* Fixed freezing when updating indicator LEDs
|
||||
* Indicator LEDs are now more responsive when an animation is
|
||||
playing
|
||||
* GUI now starts hidden in tray on KDE
|
||||
* The pipe animation now works consistently between mode
|
||||
changes
|
||||
* The pipe animation now handles input commands sent in rapid
|
||||
succession before the device is updated
|
||||
* Input works on wayland again after recent updates
|
||||
* libgdx based games no longer crash on mouse input
|
||||
* Mouse settings are now correctly restored when resuming from
|
||||
suspend
|
||||
* Fixed a bug where some devices would not be initialised on
|
||||
daemon start and would require a replug
|
||||
* Fixed layouts for K68, K65, K63, M95
|
||||
New features:
|
||||
* Under X11 only, lights can now automatically turn off after
|
||||
a user-set time
|
||||
* Macros now loop when the key is held down
|
||||
* Macro UI has been redesigned and supports recording from non
|
||||
ckb-next managed keyboards
|
||||
* Modes can now be changed automatically based on the current
|
||||
focused application (X11/XWayland Only)
|
||||
* Translations are now supported
|
||||
Notes for packagers:
|
||||
* The systemd unit directory can be overriden with
|
||||
-DSYSTEMD_UNIT_INSTALL_DIR
|
||||
* libappindicator is no longer used
|
||||
* Minimum Qt version has been bumped up to 5.5.1 (xenial)
|
||||
* cmake now checks for quazip 1.0
|
||||
* The following new dependencies have been introduced: Qt5
|
||||
X11Extras, xcb, xcb-screensaver, xcb-ewmh, Qt5 translation
|
||||
tools, dbusmenu-qt5
|
||||
- Refresh ckb-next-use-run.patch, ckb-next-systemd.patch and
|
||||
422.patch
|
||||
- Drop ckb-next-gcc10.patch (merged upstream)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Aug 29 14:54:55 UTC 2020 - Jannik Seiler <seil0@mosad.xyz>
|
||||
|
||||
- Adjust ckb-next-systemd.patch to the change for %_libexecdir
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 8 07:44:47 UTC 2020 - aloisio@gmx.com
|
||||
|
||||
- Add ckb-next-gcc10.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 20 23:15:31 UTC 2019 - Simon Lees <sflees@suse.de>
|
||||
|
||||
- %make_jobs is depricated replaced by %cmake_build
|
||||
- Use %autosetup to simplify maintenance
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 8 16:39:12 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
|
||||
|
||||
- Update to version 0.4.2
|
||||
Support for new devices:
|
||||
* Harpoon RGB Pro
|
||||
* Ironclaw RGB
|
||||
Important bugfixes:
|
||||
* GUI no longer crashes if an animation has no keys set
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 27 18:22:08 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
|
||||
|
||||
- Update to version 0.4.1
|
||||
Important bugfixes:
|
||||
* Specified keyboard layout is no longer being reverted on
|
||||
restart
|
||||
* Pipe animation no longer quits if it can't read data
|
||||
* Media keys work again on the legacy K65
|
||||
* Daemon no longer crashes on quit on macOS
|
||||
* Devices are now re-activated after resume on Linux
|
||||
* Gradient animation no longer flickers with dithering enabled
|
||||
* HiDPI has been disabled by default due to screen resolution
|
||||
misdetection
|
||||
* Max DPI is now per-device
|
||||
* Extra words are now filtered from the device name
|
||||
* gpg2 is preferred over gpg for signature verification
|
||||
New features:
|
||||
* An uninstall button has been added for macOS users that
|
||||
allows complete uninstallation, including older versions
|
||||
* Life animation has a new transparent preset
|
||||
* Confirmation dialog boxes have been added when deleting
|
||||
profiles, modes, and animations
|
||||
* Animation preview now gets temporarily disabled while
|
||||
ckb-next is out of focus
|
||||
* Support for multiple animation paths has been added
|
||||
* Pollrate can now be changed through the GUI
|
||||
Notes for packagers:
|
||||
* Udev rules are now installed by default in /lib/udev/rules.d.
|
||||
* Udev rule installation path can be changed with
|
||||
UDEV_RULE_DIRECTORY in cmake
|
||||
* Init systems can manually be force-enabled with
|
||||
FORCE_INIT_SYSTEM in cmake
|
||||
|
||||
- Refreshed ckb-next-use-run.patch and ckb-next-systemd.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 29 03:55:59 UTC 2019 - Bernhard Wiedemann <bwiedemann@suse.com>
|
||||
|
||||
- Add 422.patch to fix animations dir (boo#1135528)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 9 08:46:09 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
|
||||
|
||||
- Update to version 0.4.0
|
||||
Support for new devices:
|
||||
* K70 RGB MK.2 LP
|
||||
* M65 RGB Elite
|
||||
* M95 Legacy
|
||||
Important bugfixes:
|
||||
* ST100 now works on macOS properly
|
||||
* Strafe RGB MK.2 logo is mapped to the right LEDs, and media
|
||||
buttons are positioned correctly
|
||||
* A buffer overflow causing the daemon to crash or hang has
|
||||
been fixed
|
||||
* quickinstall can now run correctly with multibyte characters
|
||||
in the path
|
||||
* Rename now works correctly in the Profile Manager context
|
||||
menu
|
||||
* Animations with no presets no longer get loaded to prevent
|
||||
crashes
|
||||
* K70 Lux is now marked correctly as monochrome
|
||||
* ckb-next can be built again with Qt 5.2
|
||||
* Save to hardware now gets disabled in the context menu for
|
||||
unsupported devices
|
||||
* Settings backend has been changed to ini for macOS,
|
||||
preventing silent configuration data corruption
|
||||
* The K55, the ST100 and the Polaris now have working default
|
||||
profiles
|
||||
* A few cases that may cause the GUI to crash have been found
|
||||
and fixed
|
||||
* Blank animation names are no longer allowed
|
||||
New features:
|
||||
* GUI has gained a monochrome tray icon option
|
||||
(QSystemTrayIcon only)
|
||||
* Device brightness can be controlled by scrolling on the tray
|
||||
icon on Linux systems that support it (AppIndicator or KDE)
|
||||
* Profiles and modes can now be changed with the --profile and
|
||||
--mode arguments passed to the GUI binary
|
||||
* New Conway's Game of Life animation
|
||||
* New 'snake' animation
|
||||
* New 'pipe' animation, allowing the user to send rgb data
|
||||
from external applications
|
||||
* Music Visualizer (mviz) is now supported on macOS, and has
|
||||
been reworked to function correctly
|
||||
* A --version argument has been added to the daemon
|
||||
Notes:
|
||||
* On Linux, the udev rule has been renamed and moved
|
||||
* On Linux, for builds with libappindicator, it can be force
|
||||
enabled/disabled by setting the CKB_NEXT_USE_APPINDICATOR
|
||||
environment variable
|
||||
* On Linux, libappindicator support is also enabled if the Qt
|
||||
platform theme is gtk2 (Useful for Unity on Ubuntu 19.04)
|
||||
* The restart command has been removed from the daemon
|
||||
* Threads are now named for easier debugging
|
||||
* Signal handler has been rewritten
|
||||
* A few unneeded packets are no longer being sent to M65 mice
|
||||
* Only Red channel data is being sent to monochrome devices
|
||||
|
||||
- Refreshed ckb-next-systemd.patch and ckb-next-udev.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 10 19:33:47 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Trim filler wording from description.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 8 09:26:22 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
|
||||
|
||||
- Update to version 0.3.2
|
||||
Important news:
|
||||
* This version fixes a major bug for the Scimitar Pro, causing
|
||||
the daemon to not properly interface with the mouse. This
|
||||
could require manually reflashing the mouse firmware if a
|
||||
firmware update was performed with 0.3.1 or earlier.
|
||||
* An updater has been created to more quickly push bugfixes to
|
||||
users, especially for those on macOS.
|
||||
* There is a new Space Invaders-like minigame that can be
|
||||
played as an animation, thanks to @mvladimirovich.
|
||||
Support for new devices:
|
||||
* Strafe RGB MK.2; by accidental omission from the previous
|
||||
release.
|
||||
* K66
|
||||
Important bugfixes:
|
||||
* The Scimitar Pro now defaults to v2.xx endpoints
|
||||
* The DPI LED on mice now changes in sniper mode
|
||||
* The GUI will warn if uinput cannot be loaded on Linux
|
||||
* The "Save to Hardware" button on the Scimitar and Glaive has
|
||||
been greyed out due to a current lack of support
|
||||
* Thanks to the efforts of @Kedstar99, the codebase compiles
|
||||
with much fewer warnings
|
||||
* Binding commands to wheels will now repeat properly
|
||||
* QuaZip is no longer required for daemon-only builds
|
||||
* KissFFT is now built as a static library
|
||||
* Symbolic links are now created in /dev/input/by-id for evdev
|
||||
users
|
||||
* Fixed a regression for devices using the legacy protocol
|
||||
Note for packagers:
|
||||
* If ckb-next is updated through a package management system,
|
||||
`-DDISABLE_UPDATER=1` should be passed to CMake
|
||||
version 0.3.1
|
||||
Support for new devices:
|
||||
* K70 RGB MK.2
|
||||
* K70 RGB MK.2 SE
|
||||
New major features:
|
||||
* The GUI now has a generate ckb-next-dev-detect report button
|
||||
Important bugfixes:
|
||||
* Rapidfire keyboards have a workaround on shutdown
|
||||
* Bugfix for independent X/Y DPI
|
||||
* The new Strafe NRGB has firmware updates now
|
||||
* The GUI pops up a warning when trying to bind the Windows
|
||||
key with Winlock enabled
|
||||
* The GUI now has a DPI indicator
|
||||
* The K68 NRGB winlock light now lights up
|
||||
* The GUI handles SIGINT/SIGTERM cleanly, avoiding stalled
|
||||
devices
|
||||
* Strafe sidelights now save state on GUI start
|
||||
* Original Strafe NRGB's sidelights now toggle correctly
|
||||
* ckb-next-dev-detect is now installed to the system and added
|
||||
to PATH
|
||||
version 0.3.0
|
||||
Support for new devices:
|
||||
* K55 RGB
|
||||
* K68 RGB
|
||||
* K90 Legacy
|
||||
* Katar RGB
|
||||
* Polaris RGB
|
||||
* ST100 RGB
|
||||
New major features:
|
||||
* Use URB Interrupts to read data from devices
|
||||
* Profile Import/Export
|
||||
* Keyboard Layout autodetection
|
||||
* CMake build system
|
||||
* Relocation of binaries
|
||||
* No single global layout for all devices in the GUI
|
||||
Important bugfixes:
|
||||
* Deadlock on daemon exit
|
||||
* Support for K95 Platinum profile switch key
|
||||
* Keymap corruption on the GUI
|
||||
* Pulseaudio GUI deadlock
|
||||
* Use udev to detect the appropriate endpoint max packet size
|
||||
* Ignore devices in BIOS mode
|
||||
* Disable save to hardware for unsupported devices
|
||||
* Keymap patches for K68
|
||||
* Workaround for linux kernel out-of-bounds write
|
||||
* Memory leaks on firmware update
|
||||
version 0.2.9
|
||||
Important changes:
|
||||
* Significantly lower CPU usage on idle
|
||||
* Add support for K95 Platinum
|
||||
* Add support for K68
|
||||
* Add support for (new) Strafe non-RGB
|
||||
* Add support for Glaive
|
||||
* Add support for Harpoon
|
||||
* Add support for Corsair firmware v3
|
||||
* Add support for pt\_br layout
|
||||
* Add support for Japanese layout
|
||||
* Add macro delays to the GUI
|
||||
* New FIRMWARE file structure
|
||||
* GUI warning when daemon is not running
|
||||
* udev rule to remove joystick tag
|
||||
* Dynamic keymap patching
|
||||
* Require Qt >=5.2
|
||||
* Numerous small fixes and improvements
|
||||
version 0.2.8
|
||||
* `ckb` is now `ckb-next`, __but the binaries will be renamed
|
||||
in `v0.2.9`__
|
||||
* Numerous PRs from `ckb` merged
|
||||
[\#4](https://github.com/mattanger/ckb-next/issues/4)
|
||||
* SIGSEGV when deleting copied profile is fixed
|
||||
[\#38](https://github.com/mattanger/ckb-next/issues/38)
|
||||
* `make debug` target on Linux is fixed
|
||||
[\#79](https://github.com/mattanger/ckb-next/issues/79)
|
||||
* Heat map animation issues fixed
|
||||
[\#30](https://github.com/mattanger/ckb-next/issues/30)
|
||||
* Compilation of the music visualizer fixed
|
||||
[\#21](https://github.com/mattanger/ckb-next/issues/21)
|
||||
* Hardware profile loading error on firmware 2.05 fixed
|
||||
[\#24](https://github.com/mattanger/ckb-next/pull/24)
|
||||
* Project's own firmware table created, signed and populated
|
||||
with new devices
|
||||
[\#60](https://github.com/mattanger/ckb-next/pull/60)
|
||||
* Arch Linux and Fedora/CentOS packages added
|
||||
[\#80](https://github.com/mattanger/ckb-next/pull/80)
|
||||
[\#5](https://github.com/mattanger/ckb-next/issues/5)
|
||||
[\#41](https://github.com/mattanger/ckb-next/pull/41)
|
||||
|
||||
- Dropped ckb-external-quazip.patch (no longer necessary)
|
||||
|
||||
- Refreshed ckb-use-var-run.patch as ckb-next-use-run.patch
|
||||
|
||||
- Added ckb-next-systemd.patch, ckb-next-no-cmake-modules.patch
|
||||
and ckb-next-udev.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 25 09:18:15 UTC 2016 - aloisio@gmx.com
|
||||
|
||||
- Update to version 0.2.6
|
||||
- Use external quazip only when available
|
||||
- Replaced ckb-fix-desktop-file.patch with %suse_update_desktop_file
|
||||
- Replaced ckb-daemon-path.patch and ckb-animations-path.patch
|
||||
with macros for consistency.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Apr 17 19:04:20 UTC 2016 - herbert@graeber-clan.de
|
||||
|
||||
- Add hicoler folder, too
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Apr 17 08:25:41 UTC 2016 - herbert@graeber-clan.de
|
||||
|
||||
- Fix icon folder
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 15 17:12:17 UTC 2016 - herbert@graeber-clan.de
|
||||
|
||||
- Initial package
|
||||
* Use /var/run instead of /dev/input for communication with the
|
||||
daemon.
|
||||
* move the daemon and the animations into the libexec folder
|
132
ckb-next.spec
Normal file
132
ckb-next.spec
Normal file
@@ -0,0 +1,132 @@
|
||||
#
|
||||
# spec file for package ckb-next
|
||||
#
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
Name: ckb-next
|
||||
Version: 0.6.1
|
||||
Release: 0
|
||||
Summary: RGB driver for Corsair keyboard and mice
|
||||
License: BSD-3-Clause AND GPL-2.0-only
|
||||
Group: Hardware/Other
|
||||
URL: https://github.com/ckb-next/ckb-next
|
||||
Source: https://github.com/ckb-next/ckb-next/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
# PATCH-FIX-OPENSUSE ckb-next-use-run.patch
|
||||
Patch1: ckb-next-use-run.patch
|
||||
# PATCH-FIX-OPENSUSE ckb-next-systemd.patch
|
||||
Patch2: ckb-next-systemd.patch
|
||||
# PATCH-FIX-OPENSUSE ckb-next-no-cmake-modules.patch
|
||||
Patch3: ckb-next-no-cmake-modules.patch
|
||||
# PATCH-FIX-UPSTREAM ckb-next-udev.patch
|
||||
Patch4: ckb-next-udev.patch
|
||||
# PATCH-FIX-OPENSUSE 422.patch boo#1135528
|
||||
Patch5: 422.patch
|
||||
Patch6: harden_ckb-next-daemon.service.patch
|
||||
BuildRequires: ImageMagick
|
||||
BuildRequires: cmake
|
||||
BuildRequires: hicolor-icon-theme
|
||||
%if 0%{?suse_version} >= 1600
|
||||
BuildRequires: cmake(QuaZip-Qt6)
|
||||
%else
|
||||
BuildRequires: cmake(QuaZip-Qt5)
|
||||
%endif
|
||||
BuildRequires: update-desktop-files
|
||||
%if 0%{?suse_version} >= 1600
|
||||
BuildRequires: cmake(Qt6Core)
|
||||
BuildRequires: cmake(Qt6DBus)
|
||||
BuildRequires: cmake(Qt6Gui)
|
||||
BuildRequires: cmake(Qt6LinguistTools)
|
||||
BuildRequires: cmake(Qt6Network)
|
||||
BuildRequires: cmake(Qt6OpenGLWidgets)
|
||||
BuildRequires: cmake(Qt6Widgets)
|
||||
%else
|
||||
BuildRequires: cmake(Qt5DBus)
|
||||
BuildRequires: cmake(Qt5LinguistTools)
|
||||
BuildRequires: cmake(Qt5Network)
|
||||
BuildRequires: cmake(Qt5Widgets) >= 5.2
|
||||
BuildRequires: cmake(Qt5X11Extras)
|
||||
BuildRequires: cmake(dbusmenu-qt5)
|
||||
%endif
|
||||
BuildRequires: pkgconfig(libpulse)
|
||||
BuildRequires: pkgconfig(libudev)
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
BuildRequires: pkgconfig(xcb)
|
||||
BuildRequires: pkgconfig(xcb-ewmh)
|
||||
BuildRequires: pkgconfig(xcb-screensaver)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
Obsoletes: ckb < %{version}
|
||||
Provides: ckb = %{version}
|
||||
Requires: bash
|
||||
%{systemd_requires}
|
||||
|
||||
%description
|
||||
ckb is a driver for Corsair keyboards and mice. It brings the
|
||||
features of their proprietary CUE software to the Linux operating
|
||||
system. This project supports much of the same functionality,
|
||||
including full RGB animations.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
%cmake \
|
||||
%if 0%{?suse_version} >= 1600
|
||||
-DPREFER_QT6=1 \
|
||||
%endif
|
||||
-DDISABLE_UPDATER=1 \
|
||||
-DCMAKE_INSTALL_LIBEXECDIR=%{_libexecdir} \
|
||||
-DUDEV_RULE_DIRECTORY=%{_udevrulesdir}
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
for s in 16 22 32 48 64 96 128 192 256; do
|
||||
mkdir -pv %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps
|
||||
convert -strip -resize ${s}x${s} %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/ckb-next.png \
|
||||
%{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/%{name}.png
|
||||
done
|
||||
mkdir %{buildroot}%{_sbindir}
|
||||
ln -sf service %{buildroot}%{_sbindir}/rc%{name}-daemon
|
||||
%suse_update_desktop_file -r %{name} Settings HardwareSettings
|
||||
|
||||
%pre
|
||||
%service_add_pre %{name}-daemon.service
|
||||
|
||||
%post
|
||||
%service_add_post %{name}-daemon.service
|
||||
|
||||
%preun
|
||||
%service_del_preun %{name}-daemon.service
|
||||
|
||||
%postun
|
||||
%service_del_postun %{name}-daemon.service
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc CHANGELOG.md FIRMWARE README.md
|
||||
%{_bindir}/%{name}
|
||||
%{_bindir}/%{name}-dev-detect
|
||||
%{_datadir}/applications/%{name}.desktop
|
||||
%{_datadir}/icons/hicolor/*/apps/%{name}*.png
|
||||
%{_datadir}/icons/hicolor/*/status/%{name}*png
|
||||
%{_sbindir}/rc%{name}-daemon
|
||||
%{_libexecdir}/%{name}-daemon
|
||||
%{_libexecdir}/%{name}-animations
|
||||
%{_libexecdir}/%{name}-sinfo
|
||||
%{_udevrulesdir}/99-%{name}-daemon.rules
|
||||
%{_unitdir}/%{name}-daemon.service
|
||||
|
||||
%changelog
|
24
harden_ckb-next-daemon.service.patch
Normal file
24
harden_ckb-next-daemon.service.patch
Normal file
@@ -0,0 +1,24 @@
|
||||
Index: ckb-next-0.4.4/linux/systemd/ckb-next-daemon.service.in
|
||||
===================================================================
|
||||
--- ckb-next-0.4.4.orig/linux/systemd/ckb-next-daemon.service.in
|
||||
+++ ckb-next-0.4.4/linux/systemd/ckb-next-daemon.service.in
|
||||
@@ -5,6 +5,19 @@
|
||||
Description=Corsair Keyboards and Mice Daemon
|
||||
|
||||
[Service]
|
||||
+# added automatically, for details please see
|
||||
+# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
|
||||
+ProtectSystem=full
|
||||
+ProtectHome=true
|
||||
+ProtectHostname=true
|
||||
+# Fixes https://github.com/ckb-next/ckb-next/issues/740
|
||||
+DeviceAllow=char-usb_device rw
|
||||
+DeviceAllow=/dev/uinput rw
|
||||
+ProtectKernelTunables=true
|
||||
+ProtectKernelLogs=true
|
||||
+ProtectControlGroups=true
|
||||
+RestrictRealtime=true
|
||||
+# end of automatic additions
|
||||
ExecStart=@CMAKE_INSTALL_LIBEXECDIR@/ckb-next-daemon
|
||||
Restart=on-failure
|
||||
|
Reference in New Issue
Block a user