newpy
а просто узнать положение клавиши.
Если спускаться до уровня контроллера клавиатуры, то насколько я понимаю по интерфейсу идут сканкоды нажатия и отжатия кнопок. Дальше поведение определяется драйверами.
http://usepcok.ru/D_KBD/KBD_Princ.htmlИнтерпретация сканкодов в bios понятна из описания int 16
http://stanislavs.org/helppc/int_16.html.Т.е. нет не только платформенно независимого но и вообще никакого способа опростить клавиатуру на предмет положения ее кнопок. Она физически не поддерживает такой интерфейс.
Конечно операционная система или программа может накапливать эту информацию.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms646301(v=vs.85).aspxДля указанных вами кнопок ос сопровождает каждое нажатие на кнопки (уже виртуальные а не физические) кодами состояния ctrl,alt,shift
Пользоваться кривыми интерфейсами которые позволяют считывать этот статус крайне нежелательно, поскольку это не соответствует принципу работы клавиатуры и не поддерживается большинством разработчиков :)