devela/sys/os/browser/web/event/key/
media.rs1use crate::KeyMedia;
7
8#[rustfmt::skip]
9impl KeyMedia {
10 pub const fn from_web_code(code: &str) -> Option<Self> {
14 use KeyMedia as K;
15 match code.as_bytes() {
16 b"MediaPlay" => Some(K::Play),
17 b"MediaPause" => Some(K::Pause),
18 b"MediaPlayPause" => Some(K::PlayPause),
19 b"MediaReverse" => Some(K::Reverse),
20 b"MediaStop" => Some(K::Stop),
21 b"MediaFastForward" => Some(K::FastForward),
22 b"MediaRewind" => Some(K::Rewind),
23 b"MediaTrackNext" => Some(K::Next),
24 b"MediaTrackPrevious" => Some(K::Previous),
25 b"MediaRecord" => Some(K::Record),
26 b"AudioVolumeDown" => Some(K::LowerVolume),
27 b"AudioVolumeUp" => Some(K::RaiseVolume),
28 b"AudioVolumeMute" => Some(K::MuteVolume),
29 b"Eject" => Some(K::Eject),
31 b"MediaSelect" => Some(K::MediaSelect),
32 b"LaunchMedia" => Some(K::LaunchMedia),
33 b"BassBoost" => Some(K::BassBoost),
34 b"BassUp" => Some(K::BassUp),
35 b"BassDown" => Some(K::BassDown),
36 b"TrebleUp" => Some(K::TrebleUp),
37 b"TrebleDown" => Some(K::TrebleDown),
38 b"MicrophoneMute" => Some(K::MicrophoneMute),
39 b"MicrophoneVolumeUp" => Some(K::MicrophoneVolumeUp),
40 b"MicrophoneVolumeDown" => Some(K::MicrophoneVolumeDown),
41 b"BrightnessUp" => Some(K::BrightnessUp),
42 b"BrightnessDown" => Some(K::BrightnessDown),
43 b"Sleep" => Some(K::Sleep),
44 b"Wake" => Some(K::Wake),
45 b"Power" => Some(K::Power),
46 _ => None,
47 }
48 }
49 pub const fn to_web_code(self) -> &'static str {
53 use KeyMedia as K;
54 match self {
55 K::Play => "MediaPlay",
56 K::Pause => "MediaPause",
57 K::PlayPause => "MediaPlayPause",
58 K::Reverse => "MediaReverse",
59 K::Stop => "MediaStop",
60 K::FastForward => "MediaFastForward",
61 K::Rewind => "MediaRewind",
62 K::Next => "MediaTrackNext",
63 K::Previous => "MediaTrackPrevious",
64 K::Record => "MediaRecord",
65 K::LowerVolume => "AudioVolumeDown",
66 K::RaiseVolume => "AudioVolumeUp",
67 K::MuteVolume => "AudioVolumeMute",
68 K::Eject => "Eject",
70 K::MediaSelect => "MediaSelect",
71 K::LaunchMedia => "LaunchMedia",
72 K::BassBoost => "BassBoost",
73 K::BassUp => "BassUp",
74 K::BassDown => "BassDown",
75 K::TrebleUp => "TrebleUp",
76 K::TrebleDown => "TrebleDown",
77 K::MicrophoneMute => "MicrophoneMute",
78 K::MicrophoneVolumeUp => "MicrophoneVolumeUp",
79 K::MicrophoneVolumeDown => "MicrophoneVolumeDown",
80 K::BrightnessUp => "BrightnessUp",
81 K::BrightnessDown => "BrightnessDown",
82 K::Sleep => "Sleep",
83 K::Wake => "Wake",
84 K::Power => "Power",
85 }
86 }
87
88 pub const fn from_web_key(key: &str) -> Option<Self> {
92 use KeyMedia as K;
93 match key.as_bytes() {
94 b"Play" => Some(K::Play),
95 b"Pause" => Some(K::Pause),
96 b"MediaPlayPause" => Some(K::PlayPause),
97 b"MediaReverse" => Some(K::Reverse),
98 b"Stop" => Some(K::Stop),
99 b"FastForward" => Some(K::FastForward),
100 b"Rewind" => Some(K::Rewind),
101 b"NextTrack" => Some(K::Next),
102 b"PreviousTrack" => Some(K::Previous),
103 b"Record" => Some(K::Record),
104 b"VolumeDown" => Some(K::LowerVolume),
105 b"VolumeUp" => Some(K::RaiseVolume),
106 b"VolumeMute" => Some(K::MuteVolume),
107 b"Eject" => Some(K::Eject),
109 b"MediaSelect" => Some(K::MediaSelect),
110 b"LaunchMedia" => Some(K::LaunchMedia),
111 b"Bass Boost" => Some(K::BassBoost),
112 b"Bass Up" => Some(K::BassUp),
113 b"Bass Down" => Some(K::BassDown),
114 b"Treble Up" => Some(K::TrebleUp),
115 b"Treble Down" => Some(K::TrebleDown),
116 b"MicMute" => Some(K::MicrophoneMute),
117 b"MicVolumeUp" => Some(K::MicrophoneVolumeUp),
118 b"MicVolumeDown" => Some(K::MicrophoneVolumeDown),
119 b"BrightnessUp" => Some(K::BrightnessUp),
120 b"BrightnessDown" => Some(K::BrightnessDown),
121 b"Sleep" => Some(K::Sleep),
122 b"Wake" => Some(K::Wake),
123 b"Power" => Some(K::Power),
124 _ => None,
125 }
126 }
127 pub const fn to_web_key(self) -> &'static str {
131 use KeyMedia as K;
132 match self {
133 K::Play => "Play",
134 K::Pause => "Pause",
135 K::PlayPause => "MediaPlayPause",
136 K::Reverse => "MediaReverse",
137 K::Stop => "Stop",
138 K::FastForward => "FastForward",
139 K::Rewind => "Rewind",
140 K::Next => "NextTrack",
141 K::Previous => "PreviousTrack",
142 K::Record => "Record",
143 K::LowerVolume => "VolumeDown",
144 K::RaiseVolume => "VolumeUp",
145 K::MuteVolume => "VolumeMute",
146 K::Eject => "Eject",
148 K::MediaSelect => "MediaSelect",
149 K::LaunchMedia => "LaunchMedia",
150 K::BassBoost => "Bass Boost",
151 K::BassUp => "Bass Up",
152 K::BassDown => "Bass Down",
153 K::TrebleUp => "Treble Up",
154 K::TrebleDown => "Treble Down",
155 K::MicrophoneMute => "MicMute",
156 K::MicrophoneVolumeUp => "MicVolumeUp",
157 K::MicrophoneVolumeDown => "MicVolumeDown",
158 K::BrightnessUp => "BrightnessUp",
159 K::BrightnessDown => "BrightnessDown",
160 K::Sleep => "Sleep",
161 K::Wake => "Wake",
162 K::Power => "Power",
163 }
164 }
165}