feat: shortcut key input

This commit is contained in:
Ashley Wulber 2025-09-15 18:55:38 -04:00 committed by Michael Murphy
parent 52cd2f281c
commit 95180b19e4
9 changed files with 590 additions and 129 deletions

153
Cargo.lock generated
View file

@ -502,20 +502,20 @@ dependencies = [
[[package]]
name = "async-io"
version = "2.5.0"
version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19634d6336019ef220f09fd31168ce5c184b295cbf80345437cc36094ef223ca"
checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc"
dependencies = [
"async-lock 3.4.1",
"autocfg",
"cfg-if",
"concurrent-queue",
"futures-io",
"futures-lite 2.6.1",
"parking",
"polling 3.10.0",
"polling 3.11.0",
"rustix 1.1.2",
"slab",
"windows-sys 0.60.2",
"windows-sys 0.61.0",
]
[[package]]
@ -557,12 +557,12 @@ dependencies = [
[[package]]
name = "async-process"
version = "2.4.0"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "65daa13722ad51e6ab1a1b9c01299142bc75135b337923cfa10e79bbbd669f00"
checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75"
dependencies = [
"async-channel",
"async-io 2.5.0",
"async-io 2.6.0",
"async-lock 3.4.1",
"async-signal",
"async-task",
@ -586,11 +586,11 @@ dependencies = [
[[package]]
name = "async-signal"
version = "0.2.12"
version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f567af260ef69e1d52c2b560ce0ea230763e6fbb9214a85d768760a920e3e3c1"
checksum = "43c070bbf59cd3570b6b2dd54cd772527c7c3620fce8be898406dd3ed6adc64c"
dependencies = [
"async-io 2.5.0",
"async-io 2.6.0",
"async-lock 3.4.1",
"atomic-waker",
"cfg-if",
@ -599,7 +599,7 @@ dependencies = [
"rustix 1.1.2",
"signal-hook-registry",
"slab",
"windows-sys 0.60.2",
"windows-sys 0.61.0",
]
[[package]]
@ -1046,7 +1046,7 @@ checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec"
dependencies = [
"bitflags 2.9.4",
"log",
"polling 3.10.0",
"polling 3.11.0",
"rustix 0.38.44",
"slab",
"thiserror 1.0.69",
@ -1059,7 +1059,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb9f6e1368bd4621d2c86baa7e37de77a938adf5221e5dd3d6133340101b309e"
dependencies = [
"bitflags 2.9.4",
"polling 3.10.0",
"polling 3.11.0",
"rustix 1.1.2",
"slab",
"tracing",
@ -1517,7 +1517,7 @@ dependencies = [
[[package]]
name = "cosmic-comp-config"
version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-comp#cd1117080c026da61f1c7e6be55f893b3a2f87ef"
source = "git+https://github.com/pop-os/cosmic-comp#b83e9f1d32f7d7b933c3fc8d45ed574d7440212a"
dependencies = [
"cosmic-config",
"input",
@ -1529,7 +1529,7 @@ dependencies = [
[[package]]
name = "cosmic-config"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#b9a00c6e799b80154190f11943bb65c1fc4dc58b"
source = "git+https://github.com/pop-os/libcosmic#0e797b244043ee86610113d547950204258dea83"
dependencies = [
"atomicwrites",
"cosmic-config-derive",
@ -1550,7 +1550,7 @@ dependencies = [
[[package]]
name = "cosmic-config-derive"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#b9a00c6e799b80154190f11943bb65c1fc4dc58b"
source = "git+https://github.com/pop-os/libcosmic#0e797b244043ee86610113d547950204258dea83"
dependencies = [
"quote",
"syn 2.0.106",
@ -1614,7 +1614,7 @@ dependencies = [
[[package]]
name = "cosmic-panel-config"
version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-panel#2bd1a6f8e42b3857853a23b097daf2ab45eb0e18"
source = "git+https://github.com/pop-os/cosmic-panel#9c315e4acb60876aa2faacfe5777855830e88d79"
dependencies = [
"anyhow",
"cosmic-config",
@ -1646,7 +1646,7 @@ source = "git+https://github.com/pop-os/cosmic-randr#bce9cdf2d447508d4e2d54a2be4
dependencies = [
"cosmic-protocols",
"futures-lite 2.6.1",
"indexmap 2.11.1",
"indexmap 2.11.3",
"tachyonix",
"thiserror 2.0.16",
"tokio",
@ -1707,7 +1707,7 @@ dependencies = [
"i18n-embed-fl",
"icu",
"image",
"indexmap 2.11.1",
"indexmap 2.11.3",
"itertools 0.14.0",
"itoa",
"libcosmic",
@ -1737,6 +1737,7 @@ dependencies = [
"upower_dbus",
"url",
"xkb-data",
"xkeysym",
"zbus 5.11.0",
"zbus_polkit",
]
@ -1796,7 +1797,7 @@ dependencies = [
"cosmic-protocols",
"futures",
"iced_futures",
"indexmap 2.11.1",
"indexmap 2.11.3",
"itertools 0.14.0",
"libcosmic",
"libpulse-binding",
@ -1870,7 +1871,7 @@ dependencies = [
[[package]]
name = "cosmic-theme"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#b9a00c6e799b80154190f11943bb65c1fc4dc58b"
source = "git+https://github.com/pop-os/libcosmic#0e797b244043ee86610113d547950204258dea83"
dependencies = [
"almost",
"cosmic-config",
@ -2743,9 +2744,9 @@ dependencies = [
[[package]]
name = "fs-err"
version = "3.1.1"
version = "3.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "88d7be93788013f265201256d58f04936a8079ad5dc898743aa20525f503b683"
checksum = "44f150ffc8782f35521cec2b23727707cb4045706ba3c854e86bef66b3a8cdbd"
dependencies = [
"autocfg",
"tokio",
@ -2937,7 +2938,7 @@ dependencies = [
"cfg-if",
"libc",
"r-efi",
"wasi 0.14.5+wasi-0.2.4",
"wasi 0.14.7+wasi-0.2.4",
]
[[package]]
@ -3100,9 +3101,9 @@ dependencies = [
[[package]]
name = "harfrust"
version = "0.2.0"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "406a98b615ed380f2195fa8fb2ed3083e64b2a6329d710e06f95a42466f0f0c4"
checksum = "75a4c970f1a00edc1626f1e3cc039492b15b73df28b9fff70f95404a571b4fae"
dependencies = [
"bitflags 2.9.4",
"bytemuck",
@ -3298,7 +3299,7 @@ dependencies = [
[[package]]
name = "iced"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#b9a00c6e799b80154190f11943bb65c1fc4dc58b"
source = "git+https://github.com/pop-os/libcosmic#0e797b244043ee86610113d547950204258dea83"
dependencies = [
"dnd",
"iced_accessibility",
@ -3316,7 +3317,7 @@ dependencies = [
[[package]]
name = "iced_accessibility"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#b9a00c6e799b80154190f11943bb65c1fc4dc58b"
source = "git+https://github.com/pop-os/libcosmic#0e797b244043ee86610113d547950204258dea83"
dependencies = [
"accesskit",
"accesskit_winit",
@ -3325,7 +3326,7 @@ dependencies = [
[[package]]
name = "iced_core"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#b9a00c6e799b80154190f11943bb65c1fc4dc58b"
source = "git+https://github.com/pop-os/libcosmic#0e797b244043ee86610113d547950204258dea83"
dependencies = [
"bitflags 2.9.4",
"bytes",
@ -3350,7 +3351,7 @@ dependencies = [
[[package]]
name = "iced_futures"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#b9a00c6e799b80154190f11943bb65c1fc4dc58b"
source = "git+https://github.com/pop-os/libcosmic#0e797b244043ee86610113d547950204258dea83"
dependencies = [
"futures",
"iced_core",
@ -3376,7 +3377,7 @@ dependencies = [
[[package]]
name = "iced_graphics"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#b9a00c6e799b80154190f11943bb65c1fc4dc58b"
source = "git+https://github.com/pop-os/libcosmic#0e797b244043ee86610113d547950204258dea83"
dependencies = [
"bitflags 2.9.4",
"bytemuck",
@ -3398,7 +3399,7 @@ dependencies = [
[[package]]
name = "iced_renderer"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#b9a00c6e799b80154190f11943bb65c1fc4dc58b"
source = "git+https://github.com/pop-os/libcosmic#0e797b244043ee86610113d547950204258dea83"
dependencies = [
"iced_graphics",
"iced_tiny_skia",
@ -3410,7 +3411,7 @@ dependencies = [
[[package]]
name = "iced_runtime"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#b9a00c6e799b80154190f11943bb65c1fc4dc58b"
source = "git+https://github.com/pop-os/libcosmic#0e797b244043ee86610113d547950204258dea83"
dependencies = [
"bytes",
"cosmic-client-toolkit",
@ -3426,7 +3427,7 @@ dependencies = [
[[package]]
name = "iced_tiny_skia"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#b9a00c6e799b80154190f11943bb65c1fc4dc58b"
source = "git+https://github.com/pop-os/libcosmic#0e797b244043ee86610113d547950204258dea83"
dependencies = [
"bytemuck",
"cosmic-text",
@ -3442,7 +3443,7 @@ dependencies = [
[[package]]
name = "iced_wgpu"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#b9a00c6e799b80154190f11943bb65c1fc4dc58b"
source = "git+https://github.com/pop-os/libcosmic#0e797b244043ee86610113d547950204258dea83"
dependencies = [
"as-raw-xcb-connection",
"bitflags 2.9.4",
@ -3473,7 +3474,7 @@ dependencies = [
[[package]]
name = "iced_widget"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#b9a00c6e799b80154190f11943bb65c1fc4dc58b"
source = "git+https://github.com/pop-os/libcosmic#0e797b244043ee86610113d547950204258dea83"
dependencies = [
"cosmic-client-toolkit",
"dnd",
@ -3493,7 +3494,7 @@ dependencies = [
[[package]]
name = "iced_winit"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#b9a00c6e799b80154190f11943bb65c1fc4dc58b"
source = "git+https://github.com/pop-os/libcosmic#0e797b244043ee86610113d547950204258dea83"
dependencies = [
"cosmic-client-toolkit",
"dnd",
@ -4029,13 +4030,14 @@ dependencies = [
[[package]]
name = "indexmap"
version = "2.11.1"
version = "2.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "206a8042aec68fa4a62e8d3f7aa4ceb508177d9324faf261e1959e495b7a1921"
checksum = "92119844f513ffa41556430369ab02c295a3578af21cf945caa3e9e0c2481ac3"
dependencies = [
"equivalent",
"hashbrown 0.15.5",
"serde",
"serde_core",
]
[[package]]
@ -4548,7 +4550,7 @@ checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
[[package]]
name = "libcosmic"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#b9a00c6e799b80154190f11943bb65c1fc4dc58b"
source = "git+https://github.com/pop-os/libcosmic#0e797b244043ee86610113d547950204258dea83"
dependencies = [
"apply",
"ashpd 0.12.0",
@ -4646,9 +4648,9 @@ dependencies = [
[[package]]
name = "libredox"
version = "0.1.9"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3"
checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb"
dependencies = [
"bitflags 2.9.4",
"libc",
@ -5045,7 +5047,7 @@ dependencies = [
"cfg_aliases 0.1.1",
"codespan-reporting",
"hexf-parse",
"indexmap 2.11.1",
"indexmap 2.11.3",
"log",
"rustc-hash 1.1.0",
"spirv",
@ -5971,16 +5973,16 @@ dependencies = [
[[package]]
name = "polling"
version = "3.10.0"
version = "3.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5bd19146350fe804f7cb2669c851c03d69da628803dab0d98018142aaa5d829"
checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218"
dependencies = [
"cfg-if",
"concurrent-queue",
"hermit-abi 0.5.2",
"pin-project-lite",
"rustix 1.1.2",
"windows-sys 0.60.2",
"windows-sys 0.61.0",
]
[[package]]
@ -6631,9 +6633,9 @@ dependencies = [
[[package]]
name = "rust_decimal"
version = "1.37.2"
version = "1.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b203a6425500a03e0919c42d3c47caca51e79f1132046626d2c8871c5092035d"
checksum = "c8975fc98059f365204d635119cf9c5a60ae67b841ed49b5422a9a7e56cdfac0"
dependencies = [
"arrayvec",
"borsh",
@ -6813,10 +6815,11 @@ checksum = "0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749"
[[package]]
name = "serde"
version = "1.0.219"
version = "1.0.224"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
checksum = "6aaeb1e94f53b16384af593c71e20b095e958dab1d26939c1b70645c5cfbcc0b"
dependencies = [
"serde_core",
"serde_derive",
]
@ -6833,10 +6836,19 @@ dependencies = [
]
[[package]]
name = "serde_derive"
version = "1.0.219"
name = "serde_core"
version = "1.0.224"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
checksum = "32f39390fa6346e24defbcdd3d9544ba8a19985d0af74df8501fbfe9a64341ab"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.224"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87ff78ab5e8561c9a675bfc1785cb07ae721f0ee53329a595cefd8c04c2ac4e0"
dependencies = [
"proc-macro2",
"quote",
@ -6845,15 +6857,16 @@ dependencies = [
[[package]]
name = "serde_json"
version = "1.0.143"
version = "1.0.145"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a"
checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
dependencies = [
"indexmap 2.11.1",
"indexmap 2.11.3",
"itoa",
"memchr",
"ryu",
"serde",
"serde_core",
]
[[package]]
@ -6886,7 +6899,7 @@ dependencies = [
"chrono",
"hex",
"indexmap 1.9.3",
"indexmap 2.11.1",
"indexmap 2.11.3",
"schemars 0.9.0",
"schemars 1.0.4",
"serde",
@ -7664,7 +7677,7 @@ version = "0.19.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
dependencies = [
"indexmap 2.11.1",
"indexmap 2.11.3",
"toml_datetime",
"winnow 0.5.40",
]
@ -7675,7 +7688,7 @@ version = "0.22.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
dependencies = [
"indexmap 2.11.1",
"indexmap 2.11.3",
"serde",
"serde_spanned",
"toml_datetime",
@ -8040,18 +8053,18 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
[[package]]
name = "wasi"
version = "0.14.5+wasi-0.2.4"
version = "0.14.7+wasi-0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4494f6290a82f5fe584817a676a34b9d6763e8d9d18204009fb31dceca98fd4"
checksum = "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c"
dependencies = [
"wasip2",
]
[[package]]
name = "wasip2"
version = "1.0.0+wasi-0.2.4"
version = "1.0.1+wasi-0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03fa2761397e5bd52002cd7e73110c71af2109aca4e521a9f40473fe685b0a24"
checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7"
dependencies = [
"wit-bindgen",
]
@ -8355,7 +8368,7 @@ dependencies = [
"bitflags 2.9.4",
"cfg_aliases 0.1.1",
"document-features",
"indexmap 2.11.1",
"indexmap 2.11.3",
"log",
"naga",
"once_cell",
@ -9083,9 +9096,9 @@ dependencies = [
[[package]]
name = "wit-bindgen"
version = "0.45.1"
version = "0.46.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36"
checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59"
[[package]]
name = "write16"
@ -9175,7 +9188,7 @@ dependencies = [
[[package]]
name = "xdg-shell-wrapper-config"
version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-panel#2bd1a6f8e42b3857853a23b097daf2ab45eb0e18"
source = "git+https://github.com/pop-os/cosmic-panel#9c315e4acb60876aa2faacfe5777855830e88d79"
dependencies = [
"serde",
"wayland-protocols-wlr",
@ -9347,9 +9360,9 @@ checksum = "2d07e46d035fb8e375b2ce63ba4e4ff90a7f73cf2ffb0138b29e1158d2eaadf7"
dependencies = [
"async-broadcast 0.7.2",
"async-executor",
"async-io 2.5.0",
"async-io 2.6.0",
"async-lock 3.4.1",
"async-process 2.4.0",
"async-process 2.5.0",
"async-recursion",
"async-task",
"async-trait",