layout-independent key declaration