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`
**openSUSE:** `sudo zypper install cmake libevdev-devel systemd-devel libconfig-devel gcc-c++ libconfig++-devel libudev-devel`
## Building
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)
## Credits
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.
## Special Thanks
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)

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 ~Action() = default;
class Config
{
protected:

View File

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

View File

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

View File

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

View File

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

View File

@ -122,7 +122,7 @@ namespace hidpp20
{
public:
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);
protected:
@ -133,7 +133,7 @@ namespace hidpp20
{
public:
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);
protected:
@ -144,7 +144,7 @@ namespace hidpp20
{
public:
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);
protected:
@ -155,7 +155,7 @@ namespace hidpp20
{
public:
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; }

View File

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

View File

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

View File

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