Compare commits

..

No commits in common. "44b57a16413d24012bea08dfffde07a4b26c9835" and "7f70dc7ffae28ae58fa826dfc75bdacb103a8393" have entirely different histories.

12 changed files with 10 additions and 157 deletions

View File

@ -1,25 +0,0 @@
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*.{h,cpp}]
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true
# Matches multiple files with brace expansion notation
# Set default charset
[*.json]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true
# 4 space indentation
[CMakeLists.txt]
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true

View File

@ -25,8 +25,6 @@ This project requires a C++14 compiler, `cmake`, `libevdev`, `libudev`, and `lib
**Solus:** `sudo eopkg install libevdev-devel libconfig-devel libgudev-devel` **Solus:** `sudo eopkg install libevdev-devel libconfig-devel libgudev-devel`
**openSUSE:** `sudo zypper install cmake libevdev-devel systemd-devel libconfig-devel gcc-c++ libconfig++-devel libudev-devel`
## Building ## Building
To build this project, run: To build this project, run:
@ -51,10 +49,7 @@ I'm also looking for contributors to help in my project; feel free to submit a p
[For a list of tested devices, check TESTED.md](TESTED.md) [For a list of tested devices, check TESTED.md](TESTED.md)
## Credits ## Special Thanks
Logitech, Logi, and their logos are trademarks or registered trademarks of Logitech Europe S.A. and/or its affiliates in the United States and/or other countries. This software is an independent product that is not endorsed or created by Logitech.
Thanks to the following people for contributing to this repository. Thanks to the following people for contributing to this repository.
- [Clément Vuchener & contributors for creating the old HID++ library](https://github.com/cvuchener/hidpp) - [Clément Vuchener & contributors for creating the old HID++ library](https://github.com/cvuchener/hidpp)

111
logid.cfg
View File

@ -1,111 +0,0 @@
devices: (
{
name: "MX Master 3S";
smartshift:
{
on: true;
threshold: 30;
};
hiresscroll:
{
hires: false;
invert: false;
target: false;
};
dpi: 1000;
thumbwheel:
{
divert: true;
invert: false;
left:
{
threshold: 1;
interval: 10;
direction: "Left";
mode: "OnInterval";
action =
{
type: "Keypress";
keys: ["KEY_VOLUMEDOWN"];
};
};
right:
{
threshold: 1;
interval: 10;
direction: "Right";
mode: "OnInterval";
action =
{
type: "Keypress";
keys: ["KEY_VOLUMEUP"];
};
};
};
buttons: (
{
cid: 0xc3;
action =
{
type: "Gestures";
gestures: (
{
direction: "Up";
threshold: 50;
mode: "OnRelease";
action =
{
type: "Keypress";
keys: ["KEY_UP"];
};
},
{
direction: "Down";
threshold: 50;
mode: "OnRelease";
action =
{
type: "Keypress";
keys: ["KEY_DOWN"];
};
},
{
direction: "Left";
threshold: 50;
mode: "OnRelease";
action =
{
type: "Keypress";
keys: ["KEY_RIGHTMETA", "KEY_PAGEUP"];
};
},
{
direction: "Right";
threshold: 50;
mode: "OnRelease";
action =
{
type: "Keypress";
keys: ["KEY_RIGHTMETA", "KEY_PAGEDOWN"];
}
},
{
direction: "None"
mode: "NoPress"
}
);
};
},
{
cid: 0xc4;
action =
{
type: "Keypress";
keys: ["KEY_A"];
};
}
);
}
);

View File

@ -63,8 +63,6 @@ namespace actions {
virtual uint8_t reprogFlags() const = 0; virtual uint8_t reprogFlags() const = 0;
virtual ~Action() = default;
class Config class Config
{ {
protected: protected:

View File

@ -31,7 +31,7 @@ namespace actions
explicit InvalidGesture(std::string what="") : _what (what) explicit InvalidGesture(std::string what="") : _what (what)
{ {
} }
virtual const char* what() const noexcept virtual const char* what()
{ {
return _what.c_str(); return _what.c_str();
} }
@ -49,8 +49,6 @@ namespace actions
virtual bool wheelCompatibility() const = 0; virtual bool wheelCompatibility() const = 0;
virtual bool metThreshold() const = 0; virtual bool metThreshold() const = 0;
virtual ~Gesture() = default;
class Config class Config
{ {
public: public:

View File

@ -49,7 +49,7 @@ namespace dj
Reason _reason; Reason _reason;
}; };
class Receiver final class Receiver
{ {
public: public:
explicit Receiver(std::string path); explicit Receiver(std::string path);

View File

@ -33,7 +33,7 @@ namespace dj
{ {
public: public:
explicit ReceiverMonitor(std::string path); explicit ReceiverMonitor(std::string path);
virtual ~ReceiverMonitor(); ~ReceiverMonitor();
void enumerate(); void enumerate();
void run(); void run();

View File

@ -41,7 +41,6 @@ namespace hidpp20 {
static const uint16_t ID; static const uint16_t ID;
virtual uint16_t getID() = 0; virtual uint16_t getID() = 0;
uint8_t featureIndex(); uint8_t featureIndex();
virtual ~Feature() = default;
protected: protected:
explicit Feature(Device* dev, uint16_t _id); explicit Feature(Device* dev, uint16_t _id);
std::vector<uint8_t> callFunction(uint8_t function_id, std::vector<uint8_t> callFunction(uint8_t function_id,

View File

@ -122,7 +122,7 @@ namespace hidpp20
{ {
public: public:
static const uint16_t ID = FeatureID::REPROG_CONTROLS_V2; static const uint16_t ID = FeatureID::REPROG_CONTROLS_V2;
virtual uint16_t getID() override { return ID; } virtual uint16_t getID() { return ID; }
explicit ReprogControlsV2(Device* dev); explicit ReprogControlsV2(Device* dev);
protected: protected:
@ -133,7 +133,7 @@ namespace hidpp20
{ {
public: public:
static const uint16_t ID = FeatureID::REPROG_CONTROLS_V2_2; static const uint16_t ID = FeatureID::REPROG_CONTROLS_V2_2;
virtual uint16_t getID() override { return ID; } virtual uint16_t getID() { return ID; }
explicit ReprogControlsV2_2(Device* dev); explicit ReprogControlsV2_2(Device* dev);
protected: protected:
@ -144,7 +144,7 @@ namespace hidpp20
{ {
public: public:
static const uint16_t ID = FeatureID::REPROG_CONTROLS_V3; static const uint16_t ID = FeatureID::REPROG_CONTROLS_V3;
virtual uint16_t getID() override { return ID; } virtual uint16_t getID() { return ID; }
explicit ReprogControlsV3(Device* dev); explicit ReprogControlsV3(Device* dev);
protected: protected:
@ -155,7 +155,7 @@ namespace hidpp20
{ {
public: public:
static const uint16_t ID = FeatureID::REPROG_CONTROLS_V4; static const uint16_t ID = FeatureID::REPROG_CONTROLS_V4;
virtual uint16_t getID() override { return ID; } virtual uint16_t getID() { return ID; }
bool supportsRawXY() override { return true; } bool supportsRawXY() override { return true; }

View File

@ -40,7 +40,7 @@ namespace raw
void stop(); void stop();
protected: protected:
DeviceMonitor(); DeviceMonitor();
virtual ~DeviceMonitor(); ~DeviceMonitor();
virtual void addDevice(std::string device) = 0; virtual void addDevice(std::string device) = 0;
virtual void removeDevice(std::string device) = 0; virtual void removeDevice(std::string device) = 0;
private: private:

View File

@ -43,7 +43,6 @@ namespace features
} }
virtual void configure() = 0; virtual void configure() = 0;
virtual void listen() = 0; virtual void listen() = 0;
virtual ~DeviceFeature() = default;
class Config class Config
{ {
public: public:

View File

@ -149,7 +149,7 @@ void ThumbWheel::_handleEvent(hidpp20::ThumbWheel::ThumbwheelEvent event)
scroll_action = _config.leftAction(); scroll_action = _config.leftAction();
if(scroll_action) { if(scroll_action) {
//scroll_action->press(true); scroll_action->press(true);
scroll_action->move(direction * event.rotation); scroll_action->move(direction * event.rotation);
} }