You can catch any key pressed and do whatever you like. If you override a default behavior of that key, you need to cancel the native event first, then do your actions.
CellTable<Object> myTable = new CellTable<Object>();
// build myTable
myTable.addCellPreviewHandler(new Handler<Object>() {
@Override
public void onCellPreview(CellPreviewEvent<Object> event) {
if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ESCAPE) {
// Get selected object or objects from your SelectionModel
// Do something with this object or objects, or
// do something with the selected row or rows
}
}
});
Be careful with the spacebar. It acts as "page down" in some browsers, so users may not expect your custom behavior when pressing it.