How to insert tabs (not 's)?
var FCKEnterKey = function( targetWindow, enterMode, shiftEnterMode, tabSpaces )
{
this.Window = targetWindow ;
this.EnterMode = enterMode || 'p' ;
this.ShiftEnterMode = shiftEnterMode || 'br' ;
// Setup the Keystroke Handler.
var oKeystrokeHandler = new FCKKeystrokeHandler( false ) ;
oKeystrokeHandler._EnterKey = this ;
oKeystrokeHandler.OnKeystroke = FCKEnterKey_OnKeystroke ;
oKeystrokeHandler.SetKeystrokes( [
[ 13 , 'Enter' ],
[ SHIFT + 13, 'ShiftEnter' ],
[ 8 , 'Backspace' ],
[ CTRL + 8 , 'CtrlBackspace' ],
[ 46 , 'Delete' ]
] ) ;
this.TabText = '' ;
// Safari by default inserts 4 spaces on TAB, while others make the editor
// loose focus. So, we need to handle it here to not include those spaces.
if ( tabSpaces > 0 || FCKBrowserInfo.IsSafari )
{
while ( tabSpaces-- )
this.TabText += '\xa0' ;
oKeystrokeHandler.SetKeystrokes( [ 9, 'Tab' ] );
}
oKeystrokeHandler.AttachToElement( targetWindow.document ) ;
}while ( tabSpaces-- )
this.TabText += '\xa0' ;
Re: How to insert tabs (not  's)?
this.TabText += '\xa0' ;
with
this.TabText = '\t' ;
to keep the tabs, but the it probably won't be exactly what you expect. Outside of <pre>'s the browser will collapse multiple tabs into a single space, so it will appear that nothing happens when you hit the tab key.
Done right, the editor would check the context and would insert non-breakable spaces outside of <pre> and would keep tabs inside. Unfortunately, this is not the case and I always use the source mode when pasting code (after encoding angle brackets, ampersands and replacing tabs with regular spaces (0x20)).
Re: How to insert tabs (not &nbsp;'s)?
Re: How to insert tabs (not &nbsp;'s)?
Re: How to insert tabs (not &nbsp;'s)?
http://dev.fckeditor.net/ticket/2740