From 53e41f688d1d2ac09cbe75681c93193252a53363 Mon Sep 17 00:00:00 2001 From: malc Date: Sun, 16 Dec 2012 19:15:21 +0400 Subject: [PATCH] Mask properly --- wsi.ml | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/wsi.ml b/wsi.ml index a0bbb4a..439035a 100644 --- a/wsi.ml +++ b/wsi.ml @@ -222,12 +222,10 @@ let updmodmap sock resp = let a = state.keymap.(ki) in let rec lloop i = if i = Array.length a || i > 3 then () else let s = a.(i) in - begin match s with - | 0xfe03 -> state.levl3mask <- 0x80 - | 0xfe11 -> state.levl5mask <- 0x20 - | _ -> () - end; - lloop (i+1); + match s with + | 0xfe03 -> state.levl3mask <- 1 lsl l + | 0xfe11 -> state.levl5mask <- 1 lsl l + | _ -> lloop (i+1) in lloop 0; ) @@ -402,10 +400,11 @@ let getmodifiermappingreq () = let getkeysym code mask = let shift = (mask land 1) lxor ((mask land state.capslmask) lsr 1) in - let mod3 = (mask land state.levl3mask) != 0 in - let mod4 = (mask land state.levl5mask) != 0 in - let index = shift + - if mod3 then (if mod4 then 8 else 4) else (if mod4 then 6 else 0) + let index = + let l3 = (mask land state.levl3mask) != 0 in + let l4 = (mask land state.levl5mask) != 0 in + shift + + if l3 then (if l4 then 8 else 4) else (if l4 then 6 else 0) in let keysym = state.keymap.(code-state.mink).(index) in if index land 1 = 1 && keysym = 0 -- 2.11.4.GIT