Compare commits
4 Commits
8a7923bd4e
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
b0707744e2
|
|||
|
ce2d957a88
|
|||
|
4962f12867
|
|||
|
79a35cf42e
|
@@ -19,9 +19,11 @@ pub fn build(b: *std.Build) void {
|
|||||||
.name = "zremap",
|
.name = "zremap",
|
||||||
// In this case the main source file is merely a path, however, in more),
|
// In this case the main source file is merely a path, however, in more),
|
||||||
// complicated build scripts, this could be a generated file.
|
// complicated build scripts, this could be a generated file.
|
||||||
|
.root_module = b.createModule(.{
|
||||||
.root_source_file = b.path("src/main.zig"),
|
.root_source_file = b.path("src/main.zig"),
|
||||||
.target = target,
|
.target = target,
|
||||||
.optimize = optimize,
|
.optimize = optimize,
|
||||||
|
}),
|
||||||
});
|
});
|
||||||
exe.linkLibC();
|
exe.linkLibC();
|
||||||
exe.linkSystemLibrary("evdev");
|
exe.linkSystemLibrary("evdev");
|
||||||
@@ -57,9 +59,11 @@ pub fn build(b: *std.Build) void {
|
|||||||
// Creates a step for unit testing. This only builds the test executable
|
// Creates a step for unit testing. This only builds the test executable
|
||||||
// but does not run it.
|
// but does not run it.
|
||||||
const unit_tests = b.addTest(.{
|
const unit_tests = b.addTest(.{
|
||||||
|
.root_module = b.createModule(.{
|
||||||
.root_source_file = b.path("src/main.zig"),
|
.root_source_file = b.path("src/main.zig"),
|
||||||
.target = target,
|
.target = target,
|
||||||
.optimize = optimize,
|
.optimize = optimize,
|
||||||
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
const run_unit_tests = b.addRunArtifact(unit_tests);
|
const run_unit_tests = b.addRunArtifact(unit_tests);
|
||||||
|
|||||||
11
flake.lock
generated
11
flake.lock
generated
@@ -2,11 +2,12 @@
|
|||||||
"nodes": {
|
"nodes": {
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718318537,
|
"lastModified": 1758446476,
|
||||||
"narHash": "sha256-4Zu0RYRcAY/VWuu6awwq4opuiD//ahpc2aFHg2CWqFY=",
|
"narHash": "sha256-5rdAi7CTvM/kSs6fHe1bREIva5W3TbImsto+dxG4mBo=",
|
||||||
"path": "/nix/store/qqwr649pc0qprc9lw2fmdsi1km6p7q2h-source",
|
"owner": "NixOS",
|
||||||
"rev": "e9ee548d90ff586a6471b4ae80ae9cfcbceb3420",
|
"repo": "nixpkgs",
|
||||||
"type": "path"
|
"rev": "a1f79a1770d05af18111fbbe2a3ab2c42c0f6cd0",
|
||||||
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"id": "nixpkgs",
|
"id": "nixpkgs",
|
||||||
|
|||||||
24
flake.nix
24
flake.nix
@@ -1,25 +1,35 @@
|
|||||||
{
|
{
|
||||||
description = "zremap nix flake";
|
description = "zremap nix flake";
|
||||||
|
|
||||||
outputs = {
|
outputs =
|
||||||
|
{
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
}: {
|
}:
|
||||||
defaultPackage.x86_64-linux = with import nixpkgs {system = "x86_64-linux";};
|
{
|
||||||
|
defaultPackage.x86_64-linux =
|
||||||
|
with import nixpkgs { system = "x86_64-linux"; };
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "zremap";
|
pname = "zremap";
|
||||||
version = "0.2";
|
version = "0.2";
|
||||||
src = self;
|
src = self;
|
||||||
nativeBuildInputs = [ zig.hook ];
|
nativeBuildInputs = [ zig.hook ];
|
||||||
buildInputs = [libevdev pkg-config];
|
buildInputs = [
|
||||||
|
libevdev
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
NIX_CFLAGS_COMPILE="-static -isystem $(pkg-config --variable=includedir libevdev)/libevdev-1.0 $NIX_CFLAGS_COMPILE"
|
NIX_CFLAGS_COMPILE=" -isystem $(pkg-config --variable=includedir libevdev)/libevdev-1.0 $NIX_CFLAGS_COMPILE"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
devShells.x86_64-linux.default = with import nixpkgs {system = "x86_64-linux";};
|
devShells.x86_64-linux.default =
|
||||||
|
with import nixpkgs { system = "x86_64-linux"; };
|
||||||
mkShell {
|
mkShell {
|
||||||
nativeBuildInputs = [zig_0_12 lldb];
|
nativeBuildInputs = [
|
||||||
|
zig
|
||||||
|
lldb
|
||||||
|
];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libevdev
|
libevdev
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|||||||
@@ -47,10 +47,10 @@ fn uinputWriteKey(uinput_dev: *c.libevdev_uinput, key: u16) !void {
|
|||||||
const pressKey = c.input_event{ .type = c.EV_KEY, .code = key, .value = 1, .time = undefined };
|
const pressKey = c.input_event{ .type = c.EV_KEY, .code = key, .value = 1, .time = undefined };
|
||||||
const releaseKey = c.input_event{ .type = c.EV_KEY, .code = key, .value = 0, .time = undefined };
|
const releaseKey = c.input_event{ .type = c.EV_KEY, .code = key, .value = 0, .time = undefined };
|
||||||
const sync = c.input_event{ .type = c.EV_SYN, .code = c.SYN_REPORT, .value = 0, .time = undefined };
|
const sync = c.input_event{ .type = c.EV_SYN, .code = c.SYN_REPORT, .value = 0, .time = undefined };
|
||||||
std.time.sleep(20000);
|
std.Thread.sleep(20 * std.time.ns_per_ms);
|
||||||
try uinputWrite(uinput_dev, &pressKey);
|
try uinputWrite(uinput_dev, &pressKey);
|
||||||
try uinputWrite(uinput_dev, &sync);
|
try uinputWrite(uinput_dev, &sync);
|
||||||
std.time.sleep(20000);
|
std.Thread.sleep(20 * std.time.ns_per_ms);
|
||||||
try uinputWrite(uinput_dev, &releaseKey);
|
try uinputWrite(uinput_dev, &releaseKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user