I know it *used* to work on Linux and Mac, but I have no idea if it still does. I don't have a Linux machine up and going at the moment for testing. One thing I do know is that _DEVICES fails to recognize all your key presses and gives false results in certain cases, particularly in regard to combination-keys (Alt-Tab, Ctrl-I, and such). Be careful to check to make certain such combinations are possible, before you try to assign them to something in your project. Also check for duplicates such as CTRL-H returning the same code as Delete, for example.
Various keys are unmapped. Other various keys are mismapped. And other keys are duplicate mapped.... And, from my memory, Linux and Windows and Mac each have their own unique set of combo-keys which give false results. (CTRL-H might report a value of 8 in Windows, a value of 34568 in Linux, for example.)
As long as you're sticking with single keypress results, _DEVICES works passably well. (Except for the keys it fails to register completely.) If you need combo-keys however, you'll want to thoroughly test them before assigning them into your project.