The Problem
Lync has some hotkeys/shortcut keys for changing the tabs in the ContactList control. These hotkeys are 'g', 's' and 'r'. When I press any of these keys whilst having a HTML input control focused inside a WebBrowser on any web page, the key presses are going to the ContactList control instead of the WebBrowser control. The key presses aren't stolen when typing into a control outside the browser, such as a WPF TextBox control.
Steps to reproduce the problem
- Have Microsoft Lync 2013 installed
- Download and install the Microsoft Lync 2013 client sdk from http://www.microsoft.com/en-au/download/details.aspx?id=36824
- Create a .net 4.0 wpf application. Drag and drop a ContactList control into MainWindow so it automatically sets up the references and namespaces
Paste the following code inside the Window element in MainWindow.xaml
<Window... <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="auto" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <controls:ContactList Name="contactList1" Grid.Column="0" /> <WebBrowser Grid.Column="1" Source="http://www.google.com" /> </Grid>
Press the 'r', 'g' or 's' key into the google search box and notice how the key presses go to the lync control instead of the search box. Any other keys work like normal.
Things I've tried
I've tried to stop the key event bubbling to the ContactList control. However i haven't had much success with this.