Bug 64902 packages view: keyboard focus lost after switching layout [browsing]
RC1 - browsing perspective, packages view - normal selection in the list in the view - invoke the view menu (Ctrl+F10) - choose Layout->Hierarchical -> view gets updated as expected -> keyboard focus is lost. There is no way to get out by keyboard only. expected: the element previously selected in the list is not selected; and if needed expanded. I suspect the focus is still with the list that was replaced by the tree.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/browsing/PackagesView.java
if (isInListState()) {
			fSelectAllAction= new SelectAllAction((TableViewer)fWrappedViewer.getViewer());
			actionBars.setGlobalActionHandler(IWorkbenchActionConstants.SELECT_ALL, fSelectAllAction);
		} else {
			actionBars.setGlobalActionHandler(IWorkbenchActionConstants.SELECT_ALL, null);
			fSelectAllAction= null;
		}
		actionBars.updateActionBars();
	}
	
	protected IJavaElement findInputForJavaElement(IJavaElement je) {
		if(je.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT || je.getElementType() == IJavaElement.JAVA_PROJECT)
			return findInputForJavaElement(je, true);
		else
			return findInputForJavaElement(je, false);
			
	}
	
	protected IJavaElement findInputForJavaElement(IJavaElement je, boolean canChangeInputType) {
		if (je == null || !je.exists())
			return null;
		if (isValidInput(je)) {
			
			if (canChangeInputType)
				fLastInputWasProject= je.getElementType() == IJavaElement.JAVA_PROJECT;
			return je;
		} else if (fLastInputWasProject) {
			IPackageFragmentRoot packageFragmentRoot= (IPackageFragmentRoot)je.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
			if (!packageFragmentRoot.isExternal())
				return je.getJavaProject();