src/sap.m/src/sap/m/IconTabBarDragAndDropUtil.js
function (oDraggedControl, iKeyCode) {
				var $DraggedControl = oDraggedControl.$(),
					aItems = this.getItems(),
					iBeginDragIndex = this.indexOfItem(oDraggedControl),
					bRtl = sap.ui.getCore().getConfiguration().getRTL(),
					iNewDropIndex,
					$DroppedControl,
					oKeyCodes = KeyCodes;

				switch (iKeyCode) {
					//Handles Ctrl + Home
					case oKeyCodes.HOME:
						iNewDropIndex = 0;
						sInsertAfterBeforePosition = INSERT_BEFORE;
						break;
					//Handles Ctrl + End
					case  oKeyCodes.END:
						iNewDropIndex = aItems.length - 1;
						sInsertAfterBeforePosition = INSERT_AFTER;
						break;
					// Handles Ctrl + Left Arrow
					case oKeyCodes.ARROW_LEFT:
						if (bRtl) {
							iNewDropIndex = IconTabBarDragAndDropUtil._increaseDropIndex(iBeginDragIndex, aItems.length);
						} else {
							iNewDropIndex = IconTabBarDragAndDropUtil._decreaseDropIndex(iBeginDragIndex);
						}
						break;
					// Handles Ctrl + Right Arrow
					case oKeyCodes.ARROW_RIGHT:
						if (bRtl) {
							iNewDropIndex = IconTabBarDragAndDropUtil._decreaseDropIndex(iBeginDragIndex);
						} else {
							iNewDropIndex = IconTabBarDragAndDropUtil._increaseDropIndex(iBeginDragIndex, aItems.length);
						}
						break;
					// Handles	Ctrl + Arrow Down
					case oKeyCodes.ARROW_DOWN:
						iNewDropIndex = IconTabBarDragAndDropUtil._increaseDropIndex(iBeginDragIndex, aItems.length);
						break;
					// Handles Ctrl + Arrow Up
					case oKeyCodes.ARROW_UP:
						iNewDropIndex = IconTabBarDragAndDropUtil._decreaseDropIndex(iBeginDragIndex);
						break;
					default:
						return;
				}

				$DroppedControl = aItems[iNewDropIndex].$();
				IconTabBarDragAndDropUtil._insertControl(sInsertAfterBeforePosition, $DraggedControl, $DroppedControl);
				IconTabBarDragAndDropUtil._handleConfigurationAfterDragAndDrop.call(this, oDraggedControl, iNewDropIndex);

				return true;
			}
function (oDraggedControl, iKeyCode) {
				var $DraggedControl = oDraggedControl.$(),
					aItems = this.getItems(),
					iBeginDragIndex = this.indexOfItem(oDraggedControl),
					bRtl = sap.ui.getCore().getConfiguration().getRTL(),
					iNewDropIndex,
					$DroppedControl,
					oKeyCodes = KeyCodes;

				switch (iKeyCode) {
					//Handles Ctrl + Home
					case oKeyCodes.HOME:
						iNewDropIndex = 0;
						sInsertAfterBeforePosition = INSERT_BEFORE;
						break;
					//Handles Ctrl + End
					case  oKeyCodes.END:
						iNewDropIndex = aItems.length - 1;
						sInsertAfterBeforePosition = INSERT_AFTER;
						break;
					// Handles Ctrl + Left Arrow
					case oKeyCodes.ARROW_LEFT:
						if (bRtl) {
							iNewDropIndex = IconTabBarDragAndDropUtil._increaseDropIndex(iBeginDragIndex, aItems.length);
						} else {
							iNewDropIndex = IconTabBarDragAndDropUtil._decreaseDropIndex(iBeginDragIndex);
						}
						break;
					// Handles Ctrl + Right Arrow
					case oKeyCodes.ARROW_RIGHT:
						if (bRtl) {
							iNewDropIndex = IconTabBarDragAndDropUtil._decreaseDropIndex(iBeginDragIndex);
						} else {
							iNewDropIndex = IconTabBarDragAndDropUtil._increaseDropIndex(iBeginDragIndex, aItems.length);
						}
						break;
					// Handles	Ctrl + Arrow Down
					case oKeyCodes.ARROW_DOWN:
						iNewDropIndex = IconTabBarDragAndDropUtil._increaseDropIndex(iBeginDragIndex, aItems.length);
						break;
					// Handles Ctrl + Arrow Up
					case oKeyCodes.ARROW_UP:
						iNewDropIndex = IconTabBarDragAndDropUtil._decreaseDropIndex(iBeginDragIndex);
						break;
					default:
						return;
				}

				$DroppedControl = aItems[iNewDropIndex].$();
				IconTabBarDragAndDropUtil._insertControl(sInsertAfterBeforePosition, $DraggedControl, $DroppedControl);
				IconTabBarDragAndDropUtil._handleConfigurationAfterDragAndDrop.call(this, oDraggedControl, iNewDropIndex);

				return true;
			}
function ( oDraggedControl , iKeyCode ) { var $DraggedControl = oDraggedControl . $ ( ) , aItems = this . getItems ( ) , iBeginDragIndex = this . indexOfItem ( oDraggedControl ) , bRtl = sap . ui . getCore ( ) . getConfiguration ( ) . getRTL ( ) , iNewDropIndex , $DroppedControl , oKeyCodes = KeyCodes ; switch ( iKeyCode ) { //Handles Ctrl + Home case oKeyCodes . HOME : iNewDropIndex = 0 ; sInsertAfterBeforePosition = INSERT_BEFORE ; break ; //Handles Ctrl + End case oKeyCodes . END : iNewDropIndex = aItems . length - 1 ; sInsertAfterBeforePosition = INSERT_AFTER ; break ; // Handles Ctrl + Left Arrow case oKeyCodes . ARROW_LEFT : if ( bRtl ) { iNewDropIndex = IconTabBarDragAndDropUtil . _increaseDropIndex ( iBeginDragIndex , aItems . length ) ; } else { iNewDropIndex = IconTabBarDragAndDropUtil . _decreaseDropIndex ( iBeginDragIndex ) ; } break ; // Handles Ctrl + Right Arrow case oKeyCodes . ARROW_RIGHT : if ( bRtl ) { iNewDropIndex = IconTabBarDragAndDropUtil . _decreaseDropIndex ( iBeginDragIndex ) ; } else { iNewDropIndex = IconTabBarDragAndDropUtil . _increaseDropIndex ( iBeginDragIndex , aItems . length ) ; } break ; // Handles	Ctrl + Arrow Down case oKeyCodes . ARROW_DOWN : iNewDropIndex = IconTabBarDragAndDropUtil . _increaseDropIndex ( iBeginDragIndex , aItems . length ) ; break ; // Handles Ctrl + Arrow Up case oKeyCodes . ARROW_UP : iNewDropIndex = IconTabBarDragAndDropUtil . _decreaseDropIndex ( iBeginDragIndex ) ; break ; default : return ; } $DroppedControl = aItems [ iNewDropIndex ] . $ ( ) ; IconTabBarDragAndDropUtil . _insertControl ( sInsertAfterBeforePosition , $DraggedControl , $DroppedControl ) ; IconTabBarDragAndDropUtil . _handleConfigurationAfterDragAndDrop . call ( this , oDraggedControl , iNewDropIndex ) ; return true ; }
Moves focused control depending on the combinations of pressed keys.

@param {object} oDraggedControl Control that is going to be moved
@param {number} iKeyCode Key code
@returns {boolean} returns true is scrolling will be needed
Moves focused control depending on the combinations of pressed keys .