redsquirrel87, didn't see you posted earlier regarding the M9C.
I started this morning to get the M9C max remote working. This is the keymaps.xml I'm using.
Am testing right now, seems to work.
By the way: I can recommend using Notepad++. Make sure you have only LF (line Feeds) between each command, there should be no CR (Carriage Returns). You can fix this using the "replace" option and play with /n and /r.
M9C:
# table M9C type: NEC
0x40404d KEY_POWER
0x404043 KEY_MUTE
0x404017 KEY_VOLUMEDOWN
0x404018 KEY_VOLUMEUP
0x40400b KEY_UP
0x404010 KEY_LEFT
0x40400d KEY_ENTER
0x404011 KEY_RIGHT
0x40400e KEY_DOWN
0x40401a KEY_HOME
0x404045 KEY_MENU
0x404042 KEY_BACK
0x404047 KEY_CONTEXT_MENU
0x40400c KEY_BACKSPACE
0x404000 KEY_0
0x404001 KEY_1
0x404002 KEY_2
0x404003 KEY_3
0x404004 KEY_4
0x404005 KEY_5
0x404006 KEY_6
0x404007 KEY_7
0x404008 KEY_8
0x404009 KEY_9
rc_maps.cfg
# Keymaps table
#
# This table creates an association between a keycode file and a kernel
# driver. It can be used to automatically override a keycode definition.
#
#
# Format:
# driver - name of the driver provided via uevent - use * for any driver
# table - RC keymap table, provided via uevent - use * for any table
# file - file name. If directory is not specified, it is first looked up
# in /storage/.config/rc_keymaps, then /usr/lib/udev/rc_keymaps
#
# For example:
#
# driver table file
#
# gpio-rc-recv rc-streamzap streamzap
# gpio-rc-recv * justboom
# * rc-rc6-mce rc6_mce_new
# * * hauppauge_new
# table tanix, type: NEC
meson-ir * M9C