Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: pop-os/keyboard-configurator
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 95703d58c6274f9b55cf1ce7fd76770ad820fccf
Choose a base ref
..
head repository: pop-os/keyboard-configurator
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0b88fca7f90f0962b743893fc2c6e4786506f6c4
Choose a head ref
Showing with 15 additions and 3 deletions.
  1. +15 −3 backend/src/layout/mod.rs
18 changes: 15 additions & 3 deletions backend/src/layout/mod.rs
Original file line number Diff line number Diff line change
@@ -155,8 +155,16 @@ impl Layout {

/// Get the scancode number corresponding to a name
pub fn scancode_to_name(&self, scancode: u16) -> Option<String> {
let qk_mod_tap_max = if self.use_legacy_scancodes {QK_MOD_TAP_MAX_LEGACY} else {QK_MOD_TAP_MAX};
let qk_mod_tap = if self.use_legacy_scancodes {QK_MOD_TAP_LEGACY} else {QK_MOD_TAP};
let qk_mod_tap_max = if self.use_legacy_scancodes {
QK_MOD_TAP_MAX_LEGACY
} else {
QK_MOD_TAP_MAX
};
let qk_mod_tap = if self.use_legacy_scancodes {
QK_MOD_TAP_LEGACY
} else {
QK_MOD_TAP
};
if scancode >= qk_mod_tap && scancode < qk_mod_tap_max {
let mod_ = (scancode >> 8) & 0x1f;
let kc = scancode & 0xff;
@@ -173,7 +181,11 @@ impl Layout {
// Check if mod-tap
let mt_re = Regex::new("MT\\(([^()]+), ([^()]+)\\)").unwrap();
if let Some(captures) = mt_re.captures(name) {
let qk_mod_tap = if self.use_legacy_scancodes {QK_MOD_TAP_LEGACY} else {QK_MOD_TAP};
let qk_mod_tap = if self.use_legacy_scancodes {
QK_MOD_TAP_LEGACY
} else {
QK_MOD_TAP
};
let mod_ = *MOD_TAP_MODS.get(&captures.get(1).unwrap().as_str())?;
let kc = *self.keymap.get(captures.get(2).unwrap().as_str())?;
Some(qk_mod_tap | ((mod_ & 0x1f) << 8) | (kc & 0xff))