I'm playing Half-Life 2 with an Xbox 360 wired controller in Ubuntu Steam, but the default key mapping is really weird: not only is the default mapping strange to me (e.g.
L_SHOULDER for jumping), many actions are just unmapped.
Anyway, every time I run the game I have to remap everything, since the changes are not persistent. I've seen a thread that offers a solution involving the creation of a config file. This is helpful, but still requires loading the cfg file every time and looks more like a workaround than a solution. I can't believe there isn't a better way to save a custom mapping!
By the way, this is really exclusive to HL2. I've tried the same in other Valve titles (namely, Portal and Team Fortress 2) and in games from other companies and never had a problem.