По таким вопросам всегда обращайтесь к w3c.
Вот вам
все события
Да, вы все верно рассуждает про объекты события, у разного типа событий разные свойства. Например, у мышки будут данные про позицию курсора мышки по осям X, Y, а у клавиатурного события таких данных не будет, что вполне себе очевидно.
Вы также можете создать своё события отнаследовавшись от любого типа события.
Очень хорошо про события написано
тут , а
тут про разницу между событиями.
У вас в тегах указан
Event Loop
- это если что к событиям не относится, но по ним есть отличное
видео