From a63ac0351d6feb3f3242649faccf88da6a34d5eb Mon Sep 17 00:00:00 2001 From: Hugo Herbelin Date: Sat, 27 Apr 2019 12:15:59 +0200 Subject: Fix a nanoPG bug: was accepting unexpectedly extra modifier keys pressed. For instance, Ctrl-Meta-e was behaving like Ctrl-e. --- ide/nanoPG.ml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ide/nanoPG.ml b/ide/nanoPG.ml index d85d87142c..de386e4ccf 100644 --- a/ide/nanoPG.ml +++ b/ide/nanoPG.ml @@ -67,7 +67,10 @@ type 'c entry = { let mC = [`CONTROL] let mM = [`MOD1] -let mod_of t x = List.for_all (fun m -> List.mem m (GdkEvent.Key.state t)) x +let mod_of t x = + let y = GdkEvent.Key.state t in + List.for_all (fun m -> List.mem m y) x && + List.for_all (fun m -> List.mem m x) y let pr_keymod l = if l = mC then "C-" -- cgit v1.2.3