It’s definitely programmable, Keychron has a great interface. I use the media keys above the numpad for context macros in Flame. It’s not really app-aware the way a StreamDeck is, but you’ve got four layers of keysets if you need.
I use the “Alan Latteri knob” that he posted years ago. It works great as a jog knob for either timelines or paint (where I use it most often), and is a much cheaper solution than getting a tangent panel or other programmable knob.