Do you mean
Sticky Keys in Windows?
I'd like them more, if they'd time out after some seconds, but thats something that can be implemented with Autohotkey:
Shift::
Input key, L1 T2
SendInput +%key%
return
Input: captures all typed text input
key: variable, that contains the text
L1: maximal length for text: 1
T2: capture times out after 2 seconds
%key%: gets value in variable key
+: sends following keys shifted (like shift was held)
+%key%: sends the captured (lowercase) character as uppercase
This script behaves as regular shift when used in combination with other keys (shift+a , b = Ab) (shift down, abc, shift up = ABC), unless you press it alone (shift, a = A).