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# This file is part of Xpra. 

2# Copyright (C) 2010 Nathaniel Smith <njs@pobox.com> 

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

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

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

6 

7from xpra.platform import platform_import 

8 

9#default: 

10Keyboard = None 

11 

12platform_import(globals(), "keyboard", True, 

13 "Keyboard") 

14 

15def main(): 

16 import sys 

17 from xpra.os_util import WIN32, OSX, POSIX, bytestostr 

18 from xpra.util import print_nested_dict, csv 

19 from xpra.platform import program_context 

20 from xpra.log import enable_color, enable_debug_for 

21 with program_context("Keyboard-Tool", "Keyboard Tool"): 

22 #use the logger for the platform module we import from 

23 enable_color() 

24 verbose = "-v" in sys.argv or "--verbose" in sys.argv or \ 

25 (WIN32 and not ("-q" in sys.argv or "--quiet")) 

26 if verbose: 

27 enable_debug_for("keyboard") 

28 

29 #naughty, but how else can I hook this up? 

30 if POSIX and not OSX: 

31 try: 

32 from xpra.x11.bindings.posix_display_source import init_posix_display_source #@UnresolvedImport 

33 init_posix_display_source() 

34 except Exception as e: 

35 print("failed to connect to the X11 server:") 

36 print(" %s" % e) 

37 #hope for the best.. 

38 

39 keyboard = Keyboard() #pylint: disable=not-callable 

40 mod_meanings, mod_managed, mod_pointermissing = keyboard.get_keymap_modifiers() 

41 print("Modifiers:") 

42 print_nested_dict(mod_meanings) 

43 print("") 

44 print("Server Managed : %s" % (csv(mod_managed) or "None")) 

45 print("Missing from pointer events : %s" % (csv(mod_pointermissing) or "None")) 

46 print("") 

47 layout,layouts,variant,variants, options = keyboard.get_layout_spec() 

48 print("Layout: '%s'" % bytestostr(layout or b"")) 

49 print("Layouts: %s" % csv("'%s'" % bytestostr(x) for x in (layouts or []))) 

50 print("Variant: '%s'" % bytestostr(variant or b"")) 

51 print("Variants: %s" % csv("'%s'" % bytestostr(x) for x in (variants or []))) 

52 print("Options: %s" % (options)) 

53 print("") 

54 print("Repeat: %s" % csv(keyboard.get_keyboard_repeat())) 

55 if verbose and POSIX: 

56 keysyms = keyboard.get_x11_keymap() 

57 if keysyms: 

58 print("Keysyms:") 

59 for keycode,keysyms in keysyms.items(): 

60 print(" %3i : %s" % (keycode, csv(keysyms))) 

61 return 0 

62 

63 

64if __name__ == "__main__": 

65 main()