to answer your questions from the other thread

Okay. But if the timer0 source works for Heckler, why won't it work in mine?
different chip different osc speed @4mHz the tmr0 int is every 65mS the tmr1 conter may overflow , the actual free run count needs to be established and the timebase adjusted to suit

I thought the 100mS pause was the period that the count from timer 1 is occurring?
no the count occurs during gate interval produced by tmr0
What is happening with CPSCON1 =CPSCON1 ^ 1?
i had used chs 2 and 3 2^1=3 3^1=2 an easy way to toggle between chs

Is the THRESH a fixed value predetermined? Just wondering where the THRESH CON 4000 comes from. Thanks.
yes its derived by experiment and measurement ,don't you just love magic numbers

It does appear to be simpler when you know what you are doing! What is happening in the ccp1con=12|((PW&3)<<4) statement?
using 10 bit pwm thats how to set the 2 low order bits
Another one...in your example (PIC12F1822) with the LATA and LATA.0 references, is there a way that I can implement the same function, still using the PIC16F722A device, uisng the B port instead?
PIC16F722A has no latch registers so just use portb

try something like this
Code:
'****************************************************************
'*  Name    : CAPSENSE.BAS                                      *
'*  Author  : RICHARD                                           *
'*  Notice  : Copyright (c) 2011 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 10/20/2011                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :     16LF722A                                     *
 '                                                              *
'****************************************************************
 
'#DEFINE DBUG 1                            
#CONFIG
         __config _CONFIG1, _INTRC_OSC_NOCLKOUT & _WDTE_OFF & _BOR_OFF & _PLLEN_ON
#ENDCONFIG

define OSC 4
include "dt_ints-14.bas"
include "REENTERPBP.bas"
'      variables used by interrupt handler, comment out as per assembler
wsave   VAR BYTE    $20     SYSTEM       ' location for W if in bank0
'wsave   VAR BYTE    $70     SYSTEM      ' alternate save location for W 
                                         ' if using $70, comment wsave1-3
' --- IF any of these three lines cause an error ?? ------------------------
'       Comment them out to fix the problem ----
' -- Which variables are needed, depends on the Chip you are using -- 
wsave1  VAR BYTE    $A0     SYSTEM       ' location for W if in bank1
'wsave2  VAR BYTE    $120    SYSTEM      ' location for W if in bank2
'wsave3  VAR BYTE    $1A0    SYSTEM      ' location for W if in bank3
asm
INT_LIST macro
      INT_HANDLER T1GATE_INT, _TB1, PBP,YES
      endm
      INT_CREATE
ENDASM
 
 THRESH CON 8000   'needs to be established
 
 FLG     VAR BYTE    'GOT A KEY 
 KP      VAR BYTE     'WHICH KEY  pressed
 key_inx var byte     ;key index
 PW      VAR WORD   ; PULSEWIDTH
 
DEFINE DEBUG_REG PORTB
DEFINE DEBUG_BIT 7         ;pgd
DEFINE DEBUG_BAUD 9600
DEFINE DEBUG_MODE 0             
        
        
   OSCCON = %00010000
   CPSCON0 = %10001100      'high range
   CPSCON1 = 0 'cps ch 0
   ANSELB = %00000111      'SETS INPUTS B0-B2 AS ANALOG
   TRISB = %01111111       'SETS INPUTS B0-B5 AS INPUTS  b7 output
   WPUB = %00000000        'DISABLES WEAK PULL-UP BITS
   TRISC = %11111011        'ccp1 output portc.2
   
   OPTION_REG=$86      'edge int. prescale 1:128
   PIE1.7=1   'timer1 gate interrupt
   T1GCON=$f9    ' single shot timer0 overflow as input
   T1CON=%11000101   'capsense as input no prescale no sync
   INTCON= $C0       'peripheral interrupts
   PW=512
   t2con=7 
   LED VAR portc.2
   ;up                down              off
   ;key0=portb.0=ch0, key1=portb.1=ch1, key2=portb.2=ch2
  
  
    
#IFDEF  DBUG 
    
    portb.7=1
    LED=1 
    pause 2000
    Debug "Start",13 ,10
    LED=0
    pause 500 
#ENDIF 
   ccp1con=12
   CCPR1L=128
   FLG=0 
   key_inx=0
  
 
 
MAIN:
    IF FLG=1 THEN 
        IF KP = 0 THEN
           PW= (PW+64)  MIN 1023
        ELSEif  KP = 1 THEN     
           PW = PW-64
           IF PW.15 THEN PW=0 
         else  'MUST BE THE OTHER ONE 
            ccp1con=0       ;kill it
            led=0
        ENDIF
        CCPR1L = PW>>2;
        ccp1con=12|((PW&3)<<4);
        #IFDEF  DBUG 
            debug "KEY ",#KP,13,10 
            debug #PW,13,10 
        #ENDIF
        PAUSE 300
        FLG=0       'clr    key pressed flag
     ENDIF   
    
GOTO MAIN 
 
            
TB1: 
 #IFDEF  DBUG 
  debug #TMR1,13,10
 #ENDIF
 IF TMR1 <  THRESH  THEN    '   KEY DETECTED  
  if !flg then
   KP=key_inx 
   FLG=1         'set key pressed flag
  endif
 ENDIF
 key_inx=key_inx+1   ;check next key
 if key_inx > 2 then key_inx=0 
 CPSCON1  = key_inx
 TMR1=0
 T1GCON.3= 1 ;single shot reset
  
 
@ INT_RETURN