Multiplatform support, use e.[some]Key instead of tracking key state