Test code
(global-set-key (kbd "<KEYCODE_X>")
(lambda () (interactive) (execute-kbd-macro (kbd "M-x"))))
C-x C-s ;; save-buffer
C-h l ;; view-lossage C-SPC ;; set-mark-command C-SPC ;; set-mark-command C-SPC ;; set-mark-command C-SPC ;; set-mark-command C-SPC ;; set-mark-command C-h l ;; view-lossage