С точки зрения программинга это нереально сложно. Для реализации нужен глобальный хук клавиатуры, который может быть только один. Но если программа может быть запущена в нескольких копиях и, возможно, из разных каталогов одновременно ( как, например, эмулятор ДВК и эмулятор VT52 ) - то для обеспечения нормальной работы всех запущенных экземпляров через единый глобальный хук - запущенные экземпляры должны реализовывать довольно сложный протокол глобального арбитража работы глобального хука. Ведь если завершится та программа, которая была запущена первой - роль "провайдера глобального хука" должна немедленно перейти к одной (и только одной) из позднее запущенных её копий.

