I've never written a custom lister, but I think you're supposed to set an Activation Handler that will be called when an item is activated (either by mouse or keyboard). The function has an activated_by_mouse parameter. It's from 4coder_ui_helper.h and there are examples of custom uis in 4coder_lists.cpp.
typedef void Lister_Activation_Function_Type(Application_Links *app, Partition *scratch, Heap *heap,
View_Summary *view, struct Lister_State *state,
String text_field, void *user_data, bool32 activated_by_mouse);