MCPcopy Index your code
hub / github.com/TyberiusPrime/KeyToKey / send_unicode

Method send_unicode

src/lib.rs:317–380  ·  view source on GitHub ↗
(&mut self, c: char)

Source from the content-addressed store, hash-verified

315 fn do_send_later(&mut self);
316
317 fn send_unicode(&mut self, c: char) {
318 match self.state().unicode_mode {
319 UnicodeSendMode::Linux => {
320 self.send_keys(&[KeyCode::LCtrl, KeyCode::LShift, KeyCode::U]);
321 self.send_empty();
322 for out_c in c.escape_unicode().skip(3).take_while(|x| *x != '}') {
323 self.send_keys(&[hex_digit_to_keycode(out_c)]);
324 self.send_empty();
325 }
326 self.send_keys(&[KeyCode::Enter]);
327 self.send_empty();
328 }
329 UnicodeSendMode::LinuxDvorak => {
330 self.send_keys(&[KeyCode::LCtrl, KeyCode::LShift, KeyCode::F]);
331 self.send_empty();
332 for _ in 0..10 {
333 //must be alternating
334 self.send_keys(&[KeyCode::LCtrl]);
335 self.send_empty();
336 }
337 for out_c in c.escape_unicode().skip(3).take_while(|x| *x != '}') {
338 self.send_keys(&[hex_digit_to_keycode_dvorak(out_c)]);
339 self.send_empty();
340 /* for _ in 0..10 {
341 //must be alternating
342 self.send_keys(&[KeyCode::LCtrl]);
343 self.send_empty();
344 } */
345 }
346 self.send_keys(&[KeyCode::Enter]);
347 self.send_empty();
348 }
349 UnicodeSendMode::WinCompose => {
350 self.send_keys(&[KeyCode::RAlt]);
351 self.send_keys(&[KeyCode::U]);
352 let escaped = c.escape_unicode();
353 for out_c in escaped.skip(3).take_while(|x| *x != '}') {
354 self.send_keys(&[hex_digit_to_keycode(out_c)]);
355 }
356 self.send_keys(&[KeyCode::Enter]);
357 self.send_empty();
358 }
359 UnicodeSendMode::WinComposeDvorak => {
360 self.send_keys(&[KeyCode::RAlt]);
361 self.send_keys(&[KeyCode::F]);
362 let escaped = c.escape_unicode();
363 for out_c in escaped.skip(3).take_while(|x| *x != '}') {
364 self.send_keys(&[hex_digit_to_keycode_dvorak(out_c)]);
365 }
366 self.send_keys(&[KeyCode::Enter]);
367 self.send_empty();
368 }
369
370 UnicodeSendMode::Debug => {
371 let escaped = c.escape_unicode();
372 for out_c in escaped.skip(3).take_while(|x| *x != '}') {
373 self.send_keys(&[hex_digit_to_keycode(out_c)]);
374 }

Callers 2

send_stringMethod · 0.80
process_keysMethod · 0.80

Implementers 1

test_helpers.rssrc/test_helpers.rs

Calls 5

hex_digit_to_keycodeFunction · 0.85
stateMethod · 0.80
send_keysMethod · 0.80
send_emptyMethod · 0.80

Tested by

no test coverage detected