mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-05-23 11:34:06 +02:00
Rewrite key handling in video player
This commit is contained in:
parent
6357708533
commit
42f4d97d5d
@ -529,19 +529,19 @@ public void PlayVideo(string url){
|
|||||||
videoPlayer.Launch(url);
|
videoPlayer.Launch(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool ToggleVideoPause(){
|
public void HideVideoOverlay(){
|
||||||
|
browser.ExecuteScriptAsync("$('#td-video-player-overlay').remove()");
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool ProcessBrowserKey(Keys key){
|
||||||
if (videoPlayer != null && videoPlayer.Running){
|
if (videoPlayer != null && videoPlayer.Running){
|
||||||
videoPlayer.TogglePause();
|
videoPlayer.SendKeyEvent(key);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void HideVideoOverlay(){
|
|
||||||
browser.ExecuteScriptAsync("$('#td-video-player-overlay').remove()");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ShowTweetDetail(string columnKey, string chirpId){
|
public void ShowTweetDetail(string columnKey, string chirpId){
|
||||||
Activate();
|
Activate();
|
||||||
|
|
||||||
|
@ -10,11 +10,7 @@ public KeyboardHandlerBrowser(FormBrowser form){
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool IKeyboardHandler.OnPreKeyEvent(IWebBrowser browserControl, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey, ref bool isKeyboardShortcut){
|
bool IKeyboardHandler.OnPreKeyEvent(IWebBrowser browserControl, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey, ref bool isKeyboardShortcut){
|
||||||
if (type == KeyType.RawKeyDown && (Keys)windowsKeyCode == Keys.Space){
|
return type == KeyType.RawKeyDown && form.ProcessBrowserKey((Keys)windowsKeyCode);
|
||||||
return form.ToggleVideoPause();
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IKeyboardHandler.OnKeyEvent(IWebBrowser browserControl, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey){
|
bool IKeyboardHandler.OnKeyEvent(IWebBrowser browserControl, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey){
|
||||||
|
@ -68,8 +68,8 @@ public void Launch(string url){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TogglePause(){
|
public void SendKeyEvent(Keys key){
|
||||||
currentPipe?.Write("pause");
|
currentPipe?.Write("key", ((int)key).ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void currentPipe_DataIn(object sender, DuplexPipe.PipeReadEventArgs e){
|
private void currentPipe_DataIn(object sender, DuplexPipe.PipeReadEventArgs e){
|
||||||
|
@ -60,8 +60,8 @@ private void FormPlayer_Load(object sender, EventArgs e){
|
|||||||
|
|
||||||
private void pipe_DataIn(object sender, DuplexPipe.PipeReadEventArgs e){
|
private void pipe_DataIn(object sender, DuplexPipe.PipeReadEventArgs e){
|
||||||
switch(e.Key){
|
switch(e.Key){
|
||||||
case "pause":
|
case "key":
|
||||||
TogglePause();
|
HandleKey((Keys)int.Parse(e.Data, NumberStyles.Integer));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "die":
|
case "die":
|
||||||
@ -191,6 +191,17 @@ private void trackBarVolume_MouseUp(object sender, MouseEventArgs e){
|
|||||||
|
|
||||||
// Controls & messages
|
// Controls & messages
|
||||||
|
|
||||||
|
private bool HandleKey(Keys key){
|
||||||
|
switch(key){
|
||||||
|
case Keys.Space:
|
||||||
|
TogglePause();
|
||||||
|
return true;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void TogglePause(){
|
private void TogglePause(){
|
||||||
IWMPControls controls = Player.controls;
|
IWMPControls controls = Player.controls;
|
||||||
|
|
||||||
@ -233,9 +244,8 @@ bool IMessageFilter.PreFilterMessage(ref Message m){
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (m.Msg == 0x0100 && m.WParam.ToInt32() == 0x20){ // WM_KEYDOWN, VK_SPACE
|
else if (m.Msg == 0x0100){ // WM_KEYDOWN
|
||||||
form.TogglePause();
|
return form.HandleKey((Keys)m.WParam.ToInt32());
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
else if (m.Msg == 0x020B && ((m.WParam.ToInt32() >> 16) & 0xFFFF) == 1){ // WM_XBUTTONDOWN
|
else if (m.Msg == 0x020B && ((m.WParam.ToInt32() >> 16) & 0xFFFF) == 1){ // WM_XBUTTONDOWN
|
||||||
NativeMethods.SetForegroundWindow(form.ownerHandle);
|
NativeMethods.SetForegroundWindow(form.ownerHandle);
|
||||||
|
Loading…
Reference in New Issue
Block a user