Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1#!/usr/bin/env python 

2# This file is part of Xpra. 

3# Copyright (C) 2008 Nathaniel Smith <njs@pobox.com> 

4# Copyright (C) 2011-2013 Antoine Martin <antoine@xpra.org> 

5# Xpra is released under the terms of the GNU GPL v2, or, at your option, any 

6# later version. See the file COPYING for details. 

7 

8 

9MODIFIER_MAP = { 

10 "shift": 1 << 0, 

11 "lock": 1 << 1, 

12 "control": 1 << 2, 

13 "mod1": 1 << 3, 

14 "mod2": 1 << 4, 

15 "mod3": 1 << 5, 

16 "mod4": 1 << 6, 

17 "mod5": 1 << 7, 

18 } 

19 

20 

21DEFAULT_MODIFIER_NAMES = ["shift", "control"] 

22DEFAULT_MODIFIER_NUISANCE_KEYNAMES = ["Num_Lock", "Caps_Lock", "Scroll_Lock"] 

23DEFAULT_MODIFIER_NUISANCE = ["lock"] 

24DEFAULT_ALL_MODIFIER_NAMES = DEFAULT_MODIFIER_NAMES+DEFAULT_MODIFIER_NUISANCE+["mod1", "mod2", "mod3", "mod4", "mod5"] 

25 

26DEFAULT_MODIFIER_MEANINGS = { 

27 "Shift_L" : "shift", 

28 "Shift_R" : "shift", 

29 "Caps_Lock" : "lock", 

30 "Control_L" : "control", 

31 "Control_R" : "control", 

32 "Alt_L" : "mod1", 

33 "Alt_R" : "mod1", 

34 "Meta_L" : "mod1", 

35 "Meta_R" : "mod1", 

36 "Num_Lock" : "mod2", 

37 "Super_L" : "mod3", 

38 "Super_R" : "mod3", 

39 "Hyper_L" : "mod4", 

40 "Hyper_R" : "mod4", 

41 "ISO_Level3_Shift" : "mod5", 

42 "Mode_switch" : "mod5", 

43 } 

44 

45def mask_to_names(mask, modifier_map): 

46 modifiers = [] 

47 for modifier, modifier_mask in modifier_map.items(): 

48 if modifier_mask & mask: 

49 modifiers.append(modifier) 

50 mask &= ~modifier_mask 

51 return modifiers