form_submit() and form_validate() doesn't work for tableselect
You either need to change the name of the submit handler so it matches Drupal's naming convention of FORM_FUNCTION_submit, e.g.

function deckslider_admin_settings_submit(&amp;$form, &amp;$form_state, $form_id) {
  dsm("Hello");
}


Or add the handler manually in your form function:

function deckslider_admin_settings($form, &amp;$form_state) {
    global $theme;
    $blocks = _block_rehash($theme);
    $header = array(
        'title' =&gt; t('Block'), 
    );

    $options = array();
    for ($i = 0 ; $i &lt; count($blocks) ; $i++){
        $options[] = array('title' =&gt; t($blocks[$i]['info']));
    }

    $form['select_blocks'] = array(
        '#type' =&gt; "tableselect",
        '#header' =&gt; $header,
        '#options' =&gt; $options,
        '#multiple' =&gt; TRUE,
    );

    $form['#submit'][] = 'select_blocks_submit';

    return system_settings_form($form);
}