refactor: finish first phase
This commit is contained in:
		
							parent
							
								
									9f78401625
								
							
						
					
					
						commit
						015eeab44a
					
				
							
								
								
									
										18
									
								
								src/main.zig
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								src/main.zig
									
									
									
									
									
								
							| @ -12,7 +12,6 @@ const LShiftDown = c.input_event{ .type = c.EV_KEY, .code = c.KEY_LEFTSHIFT, .va | |||||||
| const LShiftUp = c.input_event{ .type = c.EV_KEY, .code = c.KEY_LEFTSHIFT, .value = 0, .time = undefined }; | const LShiftUp = c.input_event{ .type = c.EV_KEY, .code = c.KEY_LEFTSHIFT, .value = 0, .time = undefined }; | ||||||
| const RShiftDown = c.input_event{ .type = c.EV_KEY, .code = c.KEY_RIGHTSHIFT, .value = 1, .time = undefined }; | const RShiftDown = c.input_event{ .type = c.EV_KEY, .code = c.KEY_RIGHTSHIFT, .value = 1, .time = undefined }; | ||||||
| const RShiftUp = c.input_event{ .type = c.EV_KEY, .code = c.KEY_RIGHTSHIFT, .value = 0, .time = undefined }; | const RShiftUp = c.input_event{ .type = c.EV_KEY, .code = c.KEY_RIGHTSHIFT, .value = 0, .time = undefined }; | ||||||
| var uinput: *align(8) c.libevdev_uinput = undefined; |  | ||||||
| 
 | 
 | ||||||
| fn event_equal(e1: *const c.input_event, e2: *const c.input_event) bool { | fn event_equal(e1: *const c.input_event, e2: *const c.input_event) bool { | ||||||
|     return (e1.type == e2.type) and (e1.code == e2.code) and (e1.value == e2.value); |     return (e1.type == e2.type) and (e1.code == e2.code) and (e1.value == e2.value); | ||||||
| @ -27,14 +26,12 @@ fn inputDeviceOpenAndGrab(dev_name: []const u8) !?*c.libevdev { | |||||||
|     if (c.libevdev_grab(dev, c.LIBEVDEV_GRAB) < 0) { |     if (c.libevdev_grab(dev, c.LIBEVDEV_GRAB) < 0) { | ||||||
|         return error.libevdevGrabFail; |         return error.libevdevGrabFail; | ||||||
|     } |     } | ||||||
|     if (c.libevdev_uinput_create_from_device(@ptrCast(dev), c.LIBEVDEV_UINPUT_OPEN_MANAGED, @ptrCast(uinput)) < 0) { |  | ||||||
|         return error.libevdevUinputCreateFail; |  | ||||||
|     } |  | ||||||
|     return dev; |     return dev; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| fn uinputCreate(dev: *c.libevdev) !?*c.libevdev_uinput { | fn uinputCreate(dev: *c.libevdev) !?*c.libevdev_uinput { | ||||||
|     if (c.libevdev_uinput_create_from_device(@ptrCast(dev), c.LIBEVDEV_UINPUT_OPEN_MANAGED, @ptrCast(uinput)) < 0) { |     var uinput: *align(8) c.libevdev_uinput = undefined; | ||||||
|  |     if (c.libevdev_uinput_create_from_device(@ptrCast(dev), c.LIBEVDEV_UINPUT_OPEN_MANAGED, @ptrCast(&uinput)) < 0) { | ||||||
|         return error.libevdevUinputCreateFail; |         return error.libevdevUinputCreateFail; | ||||||
|     } |     } | ||||||
|     return uinput; |     return uinput; | ||||||
| @ -70,8 +67,7 @@ pub fn main() !void { | |||||||
|     } |     } | ||||||
|     const dev_name = args[1]; |     const dev_name = args[1]; | ||||||
|     const dev = try inputDeviceOpenAndGrab(dev_name); |     const dev = try inputDeviceOpenAndGrab(dev_name); | ||||||
|     //const uinput_dev = try uinputCreate(dev.?); |     const uinput_dev = try uinputCreate(dev.?); | ||||||
|     const uinput_dev = uinput; |  | ||||||
| 
 | 
 | ||||||
|     var write_esc_lshift: bool = undefined; |     var write_esc_lshift: bool = undefined; | ||||||
|     var write_esc_rshift: bool = undefined; |     var write_esc_rshift: bool = undefined; | ||||||
| @ -99,7 +95,7 @@ pub fn main() !void { | |||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         if (event.type != c.EV_KEY) { |         if (event.type != c.EV_KEY) { | ||||||
|             try uinputWrite(uinput_dev, &event); |             try uinputWrite(uinput_dev.?, &event); | ||||||
|             continue :outer; |             continue :outer; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @ -112,16 +108,16 @@ pub fn main() !void { | |||||||
|             event.code = c.KEY_LEFTMETA; |             event.code = c.KEY_LEFTMETA; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         try uinputWrite(uinput_dev, &event); |         try uinputWrite(uinput_dev.?, &event); | ||||||
| 
 | 
 | ||||||
|         if (write_esc_lshift) { |         if (write_esc_lshift) { | ||||||
|             write_esc_lshift = false; |             write_esc_lshift = false; | ||||||
|             try uinputWriteKey(uinput_dev, c.KEY_ESC); |             try uinputWriteKey(uinput_dev.?, c.KEY_ESC); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         if (write_esc_rshift) { |         if (write_esc_rshift) { | ||||||
|             write_esc_rshift = false; |             write_esc_rshift = false; | ||||||
|             try uinputWriteKey(uinput_dev, c.KEY_ESC); |             try uinputWriteKey(uinput_dev.?, c.KEY_ESC); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user