Code Monkey home page Code Monkey logo

key-mon's Introduction

Key-mon

A screencast utility that displays your keyboard and mouse status

Key-mon is useful for teaching since it shows the current status of your keyboard and mouse and you use them in another application. No longer do you need to say 'Now I'm pressing the Ctrl-D key', your students can just see the keystroke for themselves.

Home Page

You can find key-mon hosted at:
https://github.com/scottkirkwood/key-mon
You can file bugs at:
https://github.com/scottkirkwood/key-mon/issues
Latest downloads can be found at:
https://github.com/scottkirkwood/key-mon/releases

Installation

To install using pip,:

$ pip install key-mon

Note

The latest release on PyPI is quite old (from 2013); consider installing using the latest git commit:

$ pip install git+https://github.com/scottkirkwood/key-mon

To install using easy_install:

$ easy_install key-mon

Requirements

This program requires other libraries which you may or may not have installed.

License

Apache 2.0 You can find it in the LICENSE-2.0.txt file.

-- file generated by pybdist.

key-mon's People

Contributors

aleb avatar andyboeh avatar danielgtaylor avatar ericcousineau-tri avatar kjcole avatar krassowski avatar livibetter avatar mclegrand avatar naclomi avatar scottkirkwood avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

key-mon's Issues

Have a shaped key-mon window

When the window is without chrome, we could 'shape' the window to fit the keys 
and thus show the background between the keys.
This would be even more effective if key-mon was invisible during normal 
operation.

Original issue reported on code.google.com by [email protected] on 29 Jul 2010 at 10:54

Settings page wonky

- The old keys settings isn't working.
- The swap left-right mouse isn't working.
- The left-right is middle mouse isn't working.

Original issue reported on code.google.com by [email protected] on 27 Jul 2010 at 3:07

Latest .deb doesn't work on Ubuntu KK

vadi@vadi-laptop:~$ key-mon
ImportError: No module named keymon.key_mon
vadi@vadi-laptop:~$ key-mon
Traceback (most recent call last):  File "<string>", line 1, in <module>
ImportError: No module named keymon.key_mon
vadi@vadi-laptop:~$ 

Original issue reported on code.google.com by [email protected] on 19 Jan 2010 at 1:26

Feature request: Highlighting mouse cursor and mouse clicks points

May be it is a little bit mouse-side, not about a keyboard, but if using
this tool to record screencasts on big screens with something like
`recordmydesktop`, it'd be nice to have an option to turn on mouse cursor
movement highlight (a circle around the cursor, for example) and the places
on the screen where mouse clicks were just performed.

Original issue reported on code.google.com by shaman.sir on 20 May 2010 at 1:29

Settings dialog for scale has some bugs

Change the scale below 1.0 and it's supposed to change the font as well, but it 
doesn't
Change the scale above 1.0 and it should do the same.

I keeps going back to 0.5 instead of 1.0 for reasons unknown.

Original issue reported on code.google.com by [email protected] on 9 Aug 2010 at 8:57

CTRL-Z crash key-mon.py

What steps will reproduce the problem?
1.Start key-mon.py in is folder
2.Try to press ctrl and z and it crash


What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?

0.9.1 on OpenSuse 11.2
Please provide any additional information below.

Spanish Keyboard work well, but the combination with windows key don't show
up and the menu key show up as a normal key

Original issue reported on code.google.com by [email protected] on 30 Nov 2009 at 2:39

Doesn't start with German keyboard

What steps will reproduce the problem?
1. just starting it in a terminal
2.
3.

What is the expected output? What do you see instead?

rs@rs-desktop:~/Downloads/key-mon$ sudo ./key-mon.py 
[sudo] password for rs: 
Traceback (most recent call last):
  File "./key-mon.py", line 391, in <module>
    keymon = KeyMon(scale, options.meta, options.kdb_file)
  File "./key-mon.py", line 61, in __init__
    self.modmap = mod_mapper.SafelyReadModMap(kdb_file)
  File "/home/rs/Downloads/key-mon/mod_mapper.py", line 285, in
SafelyReadModMap
    defaults = ReadKdb(os.path.join(pathname, default))
  File "/home/rs/Downloads/key-mon/mod_mapper.py", line 228, in ReadKdb
    return ParseKdb(codecs.open(fname, 'r', 'utf-8').read())
  File "/usr/lib/python2.6/codecs.py", line 865, in open
    file = __builtin__.open(filename, mode, buffering)
IOError: [Errno 2] No such file or directory: './us.kbd'
rs@rs-desktop:~/Downloads/key-mon$ 




What version of the product are you using? On what operating system?

0.9

Ubuntu 9.10 32 Bit

Linux rs-desktop 2.6.31-15-generic-pae #50-Ubuntu SMP Tue Nov 10 16:12:10
UTC 2009 i686 GNU/Linux



Please provide any additional information below.

Output of xmodmap -pk attached

Original issue reported on code.google.com by [email protected] on 29 Nov 2009 at 4:37

Attachments:

Request: Do not show keys unless a modifier key is pressed

I'd like an option to not show every key press.  I only want to show
keypresses when CTRL, ALT, or META are pressed (not shift).

Additionally, it would be nice if there were a way to have the keypress
have a fade time.  That is, when the keys are released, as long as no other
keys are pressed, they should stay on the screen for X seconds.

Original issue reported on code.google.com by [email protected] on 10 Mar 2010 at 7:02

unable to import dbus interface, quitting

vers 14.1, system archlinux, x86_64
the dependency, requirements list for key-mon is short for some systems
list is
Requirements:
    * Linux or equivalent.
    * GTK+
    * pyGtk 2.0
    * DBUS
    * Linux kernel event device interface 

in the terminal, the error is...

key-mon
Unable to import dbus interface, quitting

an explicit message to error.  I found that for system archlinux, the dbus
interface for python, package named 'dbus-python'  was not installed.

you may want to add an item to the dependency list like 'dbus-python' or 
'python binders for dbus'.  not all systems have the python to dbus
interface initally.

Original issue reported on code.google.com by [email protected] on 27 Feb 2010 at 8:40

Request feature to swap display of right and left mouse buttons

What steps will reproduce the problem?
1. Use key-mon with left-handed mouse
2. Observe that primary click displays as a right-click
3. Realise that most viewers would interpret this as a secondary click

What is the expected output? What do you see instead?

It would be nice to have an option to reverse the display of right- and 
left-click for users of left-handed mice. This way right-clicks (which are 
primary clicks on left-handed mice) show as left-clicks and left-clicks 
(secondary clicks on left-handed mice) show as right-clicks.

What version of the product are you using? On what operating system?

Version 0.11
Kubuntu 9.04

Please provide any additional information below.

Please see the attached patch.

Original issue reported on code.google.com by [email protected] on 8 Dec 2009 at 7:17

Attachments:

mouse wheel suggests wrong direction

first and foremost, awesome script!  

my setup:  
ubuntu 9.10 64-bit  (clean install vs upgrade - in case it makes a difference).


I'm not sure if this is intended behaviour ... or if I'm just "lucky" but
the mouse wheel appears to indicate the opposite scrolling direction.  

using this issue as an example, I will demonstrate what I see.  file is
attached.


Original issue reported on code.google.com by [email protected] on 1 Dec 2009 at 10:12

Attachments:

key-mon crashes when clicking < or >

Have a keyboard that has < or > as keys.
Click those keys:

$ key-mon 
ERROR:root:Unable to read '/tmp/keymon-gSbbU5.svg': <?xml version="1.0" 
encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

  inkscape:collect="always" />
    <linearGradient
       y2="65.461601"
       x2="1180.5344"
...<snip>

Original issue reported on code.google.com by [email protected] on 30 Dec 2009 at 2:36

Several keys are not monitored

What steps will reproduce the problem?
1. Start key-mon
2. Press one of the keys described below
3. They are not monitored

Please provide any additional information below.

On my Thinkpad T60, with Ubuntu 10.04, several keys are not monitored:
- F11 and F12 (all other function keys work fine)
- Num 3 (all other Numpad keys work fine)
- The right ALT key (called AltGr)
- The function key (Fn) is monitored as "WakeUp"

Original issue reported on code.google.com by [email protected] on 29 Jul 2010 at 11:13

key-mon don't start

What steps will reproduce the problem?
1. open a terminal and type the key-mon command
2. this message is displayed:

cripton@cripton-laptop:~$ key-mon 
Traceback (most recent call last):  File "<string>", line 1, in <module>
ImportError: No module named keymon.key_mon
cripton@cripton-laptop:~$

What is the expected output? What do you see instead?
key-mon don't start at all

What version of the product are you using? On what operating system?
key-mon 0.14.1-2
Ubuntu 9.10 64 bit

Original issue reported on code.google.com by [email protected] on 12 Dec 2009 at 12:58

Can't launch from outside directory

What steps will reproduce the problem?
1. Don't cd into the program folder
2.
3.
vadi@vadi-laptop:~$ '/home/vadi/Programs/key-mon/key-mon.py' 
Traceback (most recent call last):
  File "/home/vadi/Programs/key-mon/key-mon.py", line 437, in <module>
    keymon = KeyMon(scale, options.meta)
  File "/home/vadi/Programs/key-mon/key-mon.py", line 115, in __init__
    self.CreateWindow()
  File "/home/vadi/Programs/key-mon/key-mon.py", line 183, in CreateWindow
    self.mouse_image = two_state_image.TwoStateImage(self.pixbufs, 'MOUSE')
  File "/home/vadi/Programs/key-mon/two_state_image.py", line 28, in 
__init__
    self.SwitchTo(self.normal)
  File "/home/vadi/Programs/key-mon/two_state_image.py", line 33, in 
SwitchTo
    self._SwitchTo(name)
  File "/home/vadi/Programs/key-mon/two_state_image.py", line 36, in 
_SwitchTo
    self.set_from_pixbuf(self.pixbufs.Get(name))
  File "/home/vadi/Programs/key-mon/lazy_pixbuf_creator.py", line 44, in 
Get
    name = self.CreatePixbuf(name)
  File "/home/vadi/Programs/key-mon/lazy_pixbuf_creator.py", line 61, in 
CreatePixbuf
    img = self._Composite(img, self._ReadFromFile(op))
  File "/home/vadi/Programs/key-mon/lazy_pixbuf_creator.py", line 88, in 
_ReadFromFile
    return gtk.gdk.pixbuf_new_from_file(fname)
glib.GError: Failed to open file 'svg/mouse.svg': No such file or directory

Original issue reported on code.google.com by [email protected] on 28 Nov 2009 at 7:17

Problems with debian install under Kubuntu.

I just downloaded key-mon (the deb file) and installed it on Kubuntu 10.04. 
When I try to run it I get this error:

computeruser@SoaringCondor:~$ key-mon help
Xlib.protocol.request.QueryExtension
Xlib.protocol.request.QueryExtension
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/pymodules/python2.6/keymon/key_mon.py", line 652, in Main
    keymon = KeyMon(options)
  File "/usr/lib/pymodules/python2.6/keymon/key_mon.py", line 108, in __init__
    self.CreateWindow()
  File "/usr/lib/pymodules/python2.6/keymon/key_mon.py", line 223, in CreateWindow
    self.mouse_indicator_win = shaped_window.ShapedWindow(self.SvgFname('mouse-indicator'))
  File "/usr/lib/pymodules/python2.6/keymon/shaped_window.py", line 39, in __init__
    self.pixbuf = self.pixbufs.Get('mouse')
  File "/usr/lib/pymodules/python2.6/keymon/lazy_pixbuf_creator.py", line 57, in Get
    name = self.CreatePixbuf(name)
  File "/usr/lib/pymodules/python2.6/keymon/lazy_pixbuf_creator.py", line 74, in CreatePixbuf
    img = self._Composite(img, self._ReadFromFile(op))
  File "/usr/lib/pymodules/python2.6/keymon/lazy_pixbuf_creator.py", line 103, in _ReadFromFile
    return gtk.gdk.pixbuf_new_from_file(fname)
glib.GError: Couldn't recognize the image file format for file 
'/usr/lib/pymodules/python2.6/keymon/themes/classic/mouse-indicator.svg'


Any ideas? Thanks
Dave

Original issue reported on code.google.com by [email protected] on 6 Jul 2010 at 7:55

Middle mouse button not working.

Dave has indicated that the middle mouse button isn't showing feedback when 
clicked on his Kubuntu machine. (however scroll up and down appears to work).

It is supposed to show something, just as the left or right mouse button does.

@Dave
Perhaps you could run:
$ cd /usr/share/pyshared/keymon
$ python xlib.py

As you click you should see output like:[15:28:07] $ python xlib.py
Press ESCape to quit
Xlib.protocol.request.QueryExtension
Xlib.protocol.request.QueryExtension
type:EV_KEY scancode:0 code:BTN_LEFT value:1
type:EV_KEY scancode:0 code:BTN_LEFT value:0
type:EV_KEY scancode:0 code:BTN_RIGHT value:1
type:EV_KEY scancode:0 code:BTN_RIGHT value:0
type:EV_KEY scancode:0 code:BTN_MIDDLE value:1
type:EV_KEY scancode:0 code:BTN_MIDDLE value:0
type:EV_KEY scancode:1 code:KEY_ESCAPE value:1

What do you see when you click the middle mouse button?


Original issue reported on code.google.com by [email protected] on 8 Jul 2010 at 6:29

Give the mouse button presses more contrast.

Hi!
Great work! This tool is invaluable for teachers.
I don't know if I must ask for features here, sorry if don't.

The matter is: Can the color of highlight be red or something else
(configurable maybe)? dark gray over gray is not well readable. Specially
in projectors.

Thanks!



Original issue reported on code.google.com by [email protected] on 5 Feb 2010 at 11:34

About Box missing

Should point to homepage.
Should point to new bug page.
Should show the version number.

Original issue reported on code.google.com by [email protected] on 27 Jul 2010 at 3:06

Some keys still crash with unknown or invalid values

Great examples are Dashboard key on Apple keyboards and random Fn +
whatever combinations that cause it to die.

$ ./key-mon
Traceback (most recent call last):  File "./key-mon.py", line 228, in OnIdle
    self.HandleEvent(event)
  File "./key-mon.py", line 237, in HandleEvent
    if event.code.startswith("KEY"):
AttributeError: 'int' object has no attribute 'startswith'

Original issue reported on code.google.com by [email protected] on 30 Nov 2009 at 3:03

Typo in help

--emulate-middle      If you presse the left,

sounds cute....  :-)

Original issue reported on code.google.com by [email protected] on 10 Dec 2009 at 7:06

Windows key don't show up

What steps will reproduce the problem?
1.press window key
2.nothig hapend
3.

What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?
0.9.2 on opensuse 11.2 spanish keyboard



Original issue reported on code.google.com by [email protected] on 30 Nov 2009 at 8:04

Lower and raise volume buttons swapped

What steps will reproduce the problem?
1. Start key-map
2. Press volume up botton
3. Press volume down button

What is the expected output? What do you see instead?
Volume down shoud return Vol-, Volume up should return Vol+

What version of the product are you using? On what operating system?
0.14.2-2 on Debian Squeeze/Sid

Please provide any additional information below.
File mod_mapper.py lines 81 and 82.

Original issue reported on code.google.com by [email protected] on 31 Jan 2010 at 10:28

Unknown button

What steps will reproduce the problem?
1. pressing the down key on my trackball 
2.
3.

What is the expected output? What do you see instead?


ERROR:root:Don't understand the name 'BTN_SIDE' 
Traceback (most recent call last):
  File "./key-mon.py", line 202, in OnIdle
    self.HandleEvent(event)
  File "./key-mon.py", line 215, in HandleEvent
    self.HandleMouseButton(event.code, event.value)
  File "./key-mon.py", line 272, in HandleMouseButton
    self._HandleEvent(self.mouse_image, code, value)
  File "./key-mon.py", line 221, in _HandleEvent
    image.SwitchTo(name)
  File "/home/rs/Downloads/key-mon/two_state_image.py", line 33, in SwitchTo
    self._SwitchTo(name)
  File "/home/rs/Downloads/key-mon/two_state_image.py", line 36, in _SwitchTo
    self.set_from_pixbuf(self.pixbufs.Get(name))
  File "/home/rs/Downloads/key-mon/lazy_pixbuf_creator.py", line 45, in Get
    return self.pixbufs[name]
KeyError: 'KEY_UP_EMPTY'

And then no more rection of the program



What version of the product are you using? On what operating system?


0.9.2

Please provide any additional information below.

Perhaps just catch and discard unknown symbols? Perhaps loging them. 

Original issue reported on code.google.com by [email protected] on 30 Nov 2009 at 7:01

Time of visibility of keystrokes

Just one thing more. ;-)

Can you add a parameter for the visibility of the keys if no second key
follows? 
Perhaps in tenths of seconds. 

If you don't look at the monitor in the video you notice that there has
been a key stroke. But until you look at the monitor, it is already gone. 

Original issue reported on code.google.com by [email protected] on 10 Dec 2009 at 7:06

ImportError: No module named keymon.key_mon

What steps will reproduce the problem?
1. mash@specialk:~$ sudo dpkg -i key-mon_0.15-2_all.deb
2. mash@specialk:~$ key-mon

What is the expected output? What do you see instead?

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named keymon.key_mon

What version of the product are you using? On what operating system?

key-mon_0.15-2_all.deb
Debian 5.0.4

Please provide any additional information below.

Unpacking and installing key-mon-0.15.zip worked for me.

Original issue reported on code.google.com by [email protected] on 14 Apr 2010 at 7:20

If I hit ctrl-alt-a it sometimes show's only A

Hit ctrl-alt-a slowly enough and you will see the ctrl then alt then A key 
show up and the A key will be shown as long as the key is pressed but the 
Ctrl and Alt keys aren't shown, even though they are being held down still.

Ctrl-Alt-A is only an example.

Original issue reported on code.google.com by [email protected] on 27 Nov 2009 at 8:55

hide/show options

What steps will reproduce the problem?
1. key-mon --help

What is the expected output? What do you see instead?
it only the descriptions field for the show options
--mouse   
--ctrl
--alt
that should be show instead of hide 

What version of the product are you using? On what operating system?
0.16.

Please provide any additional information below.
Realy great tool!!

Original issue reported on code.google.com by [email protected] on 30 May 2010 at 8:42

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.