bug fix, and add SingleKeyListener and MultipleKeysListener