I am using AutoHotkey to change this behavior of Listary. If anyone is interested, this the code I use:
#NoEnv
SendMode Input
SetTitleMatchMode RegEx
#IfWinActive ahk_class CabinetWClass ;Explorer
BackSpace:: ; Backspace pressed while Explorer Window active
; Change the non intuitive Listary Backspace behavior
; (going back in Explorer history instead of deleting last typed character)
; WinGet, listary_id, ID, ahk_class Listary_WidgetWin ; List and searchbox are two different windows. This proves to be the id handle of listary list window (we don't need that)
WinGet, listary_id_last, IDLast, ahk_class Listary_WidgetWin ; Get the id handle of listary searchbox window
if listary_id_last { ; Listary is active in the Explorer window
ControlGetText, listary_text, , ahk_id %listary_id_last% ; Get contents of the search field
; ToolTip, Listary is active: `nSearchBox id: "%listary_id_last%" `nSearchbox contained "%listary_text%" when key was pressed. ; You can uncomment this line for debugging purposes.
if (listary_text != "Search") { ; do not allow Backspace to exit Listary when the SearchBox is empty (contains "Search" - varies with language)
; but do send a Backspace key to the searchbox to delete the last typed character if it is not empty
ControlSend, ListarySearchBox1, {BackSpace}, ahk_id %listary_id_last%
}
} else { ; Listary not active in Explorer window, send the Backspace key to be handled by Explorer.
; ToolTip, Listary is not active
Send, {Backspace}
}
return
#IfWinActive ahk_class ahk_class Listary_WidgetWin ; Listary
BackSpace::
WinGet, listary_id_last, IDLast, ahk_class Listary_WidgetWin ; Get the id handle of listary searchbox window
if listary_id_last {
ControlGetText, listary_text, , ahk_id %listary_id_last% ; Get contents of the search field
if (listary_text != "Search") { ; do not allow Backspace to exit Listary when the SearchBox contains "Search" , varies with language. Initially this field is blank, so you can exit with backspace if no letters at all have been typed yed.
; but do send a Backspace key to the searchbox to delete the last typed character if it is not empty
ControlSend, ListarySearchBox1, {BackSpace}, ahk_id %listary_id_last%
}
}
Return
Edit 22-7-2013: using Regex for title match mode