No it doesn't.
To access the actual keyboard, maybe. But you only want the key events for a key logger; and that certainly doesn't need admin access. If it did then how would what you were typing ever make it to the application?
I'm sorry, but that just is not true. In Linux, for example, the window manager, a separate app, can pick up key presses like "Alt-F4" before the app to close the window -- any it doesn't want it simply forwards. At the extreme end on UNIX you could just catch every byte sent to the X window control socket (which is owned by the user, not root). But you could also make one giant transparent window that receives everything and simply passes it through to whatever app underneath the keylogger wants.
That's why I mentioned two classes of program. Virtual keyboard apps can send; and accessibility helpers can capture keys (slow modifiers is a common one). Combine those facilities in one application.