I want to know if I can use this program in lazarus-linux
By simply looking at your uses clause: No. You have Windows specific units there (Windows, Messages). The hooking mechanism is OS specific, and I don't think we have a cross platform solution for that...
Actually HHOOK is defined in Delphi compatibility unit LCLType.
You can try it yourself. Add package dependency "LCL" to your program.
Replace "Windows" in uses section with "LCLIntf, LCLType, LMessages".
Now, LowLevelKeyboardProc sounds like something that can't be easily ported. And yes, there are unknown identifiers:
"HC_ACTION", "WaitForSingleObject", "INFINITE" etc...
Some Windows expert could know how to port that. I don't know.
Juha