Add vertex to polygon.

Basic question that is difficult to web-search:

How do I add a vertex in an edge of a polygon(preferably keyboard shortcut, otherwise menu option or Python function call is fine)?

W, Subdivide selected edge(s) or selected two (or more) vertices. Knife might help too.

Thanks, both tools work wonderfully(knife tool with k key).