Compare commits
No commits in common. "44b57a16413d24012bea08dfffde07a4b26c9835" and "7f70dc7ffae28ae58fa826dfc75bdacb103a8393" have entirely different histories.
44b57a1641
...
7f70dc7ffa
|
@ -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
|
|
|
@ -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
111
logid.cfg
|
@ -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"];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
|
@ -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:
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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; }
|
||||||
|
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user