mirror of
https://github.com/tauri-apps/global-hotkey.git
synced 2026-01-31 00:45:22 +01:00
5
.changes/objc06.md
Normal file
5
.changes/objc06.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
global-hotkey: patch
|
||||
---
|
||||
|
||||
Update `objc2` to `0.6`. This raises the MSRV to 1.71 which is now also set in `rust-version`.
|
||||
3
.github/workflows/test.yml
vendored
3
.github/workflows/test.yml
vendored
@@ -35,5 +35,8 @@ jobs:
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libgtk-3-dev libxdo-dev
|
||||
|
||||
- uses: dtolnay/rust-toolchain@1.71
|
||||
- run: cargo build
|
||||
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
- run: cargo test --all-features
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,2 @@
|
||||
/target
|
||||
Cargo.lock
|
||||
/.vscode
|
||||
6023
Cargo.lock
generated
Normal file
6023
Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -9,6 +9,7 @@ readme = "README.md"
|
||||
repository = "https://github.com/amrbashir/global-hotkey"
|
||||
documentation = "https://docs.rs/global-hotkey"
|
||||
categories = ["gui"]
|
||||
rust-version = "1.71"
|
||||
|
||||
[features]
|
||||
serde = ["dep:serde"]
|
||||
@@ -17,12 +18,12 @@ serde = ["dep:serde"]
|
||||
crossbeam-channel = "0.5"
|
||||
keyboard-types = "0.7"
|
||||
once_cell = "1"
|
||||
thiserror = "1"
|
||||
thiserror = "2"
|
||||
serde = { version = "1", optional = true, features = ["derive"] }
|
||||
|
||||
[target.'cfg(target_os = "macos")'.dependencies]
|
||||
objc2 = "0.5.2"
|
||||
objc2-app-kit = { version = "0.2.2", default-features = false, features = [
|
||||
objc2 = "0.6.0"
|
||||
objc2-app-kit = { version = "0.3.0", default-features = false, features = [
|
||||
"std",
|
||||
"NSEvent",
|
||||
] }
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use keyboard_types::{Code, Modifiers};
|
||||
use objc2::{msg_send_id, rc::Retained, ClassType};
|
||||
use objc2::{msg_send, rc::Retained, ClassType};
|
||||
use objc2_app_kit::{NSEvent, NSEventModifierFlags, NSEventSubtype, NSEventType};
|
||||
use std::{
|
||||
collections::{BTreeMap, HashSet},
|
||||
@@ -347,7 +347,7 @@ unsafe extern "C" fn media_key_event_callback(
|
||||
return event;
|
||||
}
|
||||
|
||||
let ns_event: Retained<NSEvent> = msg_send_id![NSEvent::class(), eventWithCGEvent: event];
|
||||
let ns_event: Retained<NSEvent> = msg_send![NSEvent::class(), eventWithCGEvent: event];
|
||||
let event_type = ns_event.r#type();
|
||||
let event_subtype = ns_event.subtype();
|
||||
|
||||
@@ -363,16 +363,16 @@ unsafe extern "C" fn media_key_event_callback(
|
||||
// Modifiers
|
||||
let flags = ns_event.modifierFlags();
|
||||
let mut mods = Modifiers::empty();
|
||||
if flags.contains(NSEventModifierFlags::NSEventModifierFlagShift) {
|
||||
if flags.contains(NSEventModifierFlags::Shift) {
|
||||
mods |= Modifiers::SHIFT;
|
||||
}
|
||||
if flags.contains(NSEventModifierFlags::NSEventModifierFlagControl) {
|
||||
if flags.contains(NSEventModifierFlags::Control) {
|
||||
mods |= Modifiers::CONTROL;
|
||||
}
|
||||
if flags.contains(NSEventModifierFlags::NSEventModifierFlagOption) {
|
||||
if flags.contains(NSEventModifierFlags::Option) {
|
||||
mods |= Modifiers::ALT;
|
||||
}
|
||||
if flags.contains(NSEventModifierFlags::NSEventModifierFlagCommand) {
|
||||
if flags.contains(NSEventModifierFlags::Command) {
|
||||
mods |= Modifiers::META;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user