def prepend_path(self, name: str, paths: List[str]) -> None: old_val = self.env.get(name) paths = [p for p in paths if isdir(p)] if not paths: return if old_val is not None: new_val = ':'.join(itertools.chain(paths, [old_val])) else: new_val = ':'.join(paths) self.env[name] = new_val
  • ~
    `
  • !
    1
  • @
    2
  • #
    3
  • $
    4
  • %
    5
  • ^
    6
  • &
    7
  • *
    8
  • (
    9
  • )
    0
  • _
    -
  • +
    =
  • Backspace
  • Tab
  • Q
  • W
  • E
  • R
  • T
  • Y
  • U
  • I
  • O
  • P
  • {
    [
  • }
    ]
  • |
    \
  • CapsLock
  • A
  • S
  • D
  • F
    _
  • G
  • H
  • J
    _
  • K
  • L
  • :
    ;
  • "
    '
  • Enter
  • Shift
  • Z
  • X
  • C
  • V
  • B
  • N
  • M
  • <
    ,
  • >
    .
  • ?
    /
  • Shift
  • Ctrl
  • Fn
  • win
  • Alt
  • Space bar
  • Alt
  • win
  • Ctrl
How to Use?
  • Look at the program and start typing the same
  • The keyboard on the screen shows where your fingers should be placed highlighted keys are the assigned keys for the respective finger
  • After completing this program you can see your WPM (words per minute), Accuracy and Keys with most mistakes
Equations used

WPM tells how fast you type, considering mistakes

An uncorrected mistake per minute brings down your WPM by 1.


wpm

Accuracy defines percentage of correct typed character out of total typed characters.


wpm
Please open this page on a larger display
:


Hide Keyboard
Loading...