kent,
Right now, you are only checking if the surface is visible when your layout starts, and that's it. The layout doesn't reload or anything when the search is hidden or shown. Perhaps you can check in tick?
local search_surface = ....
KeyboardSearch(...)...
local searchVisible = 0;
function on_tick(ttime) {
...
if ( search_surface.alpha != searchVisible ) {
//search has been toggled
searchVisible = search_surface.alpha;
if ( search_surface.alpha == 0 ) {
//search was hidden
} else {
//search was shown
}
}
}
Maybe I can add some kind of listener to notify you when the keyboard has been shown or hidden if that doesn't work for you.