From 111a53cef5b0232673e996261d9b2bffecb17c6c Mon Sep 17 00:00:00 2001 From: H.G. Muller Date: Sun, 2 Jan 2011 14:11:45 +0100 Subject: [PATCH] Define Ctrl-R as right-click in WB Comment dialog To allow JAWS users to load a variation through the keyboard, Ctrl-R is equated to a right click at the position of the caret or selection. --- winboard/winboard.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) diff --git a/winboard/winboard.c b/winboard/winboard.c index bf84aaa..2f15610 100644 --- a/winboard/winboard.c +++ b/winboard/winboard.c @@ -6255,7 +6255,7 @@ CommentDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) sizeY = newSizeY; } } - SendDlgItemMessage( hDlg, OPT_CommentText, EM_SETEVENTMASK, 0, ENM_MOUSEEVENTS ); + SendDlgItemMessage( hDlg, OPT_CommentText, EM_SETEVENTMASK, 0, ENM_MOUSEEVENTS | ENM_KEYEVENTS ); return FALSE; case WM_COMMAND: /* message: received a command */ @@ -6304,13 +6304,19 @@ CommentDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) if( wParam == OPT_CommentText ) { MSGFILTER * lpMF = (MSGFILTER *) lParam; - if( lpMF->msg == WM_RBUTTONDOWN && (lpMF->wParam & (MK_CONTROL | MK_SHIFT)) == 0 ) { + if( lpMF->msg == WM_RBUTTONDOWN && (lpMF->wParam & (MK_CONTROL | MK_SHIFT)) == 0 || + lpMF->msg == WM_CHAR && lpMF->wParam == '\022' ) { POINTL pt; LRESULT index; pt.x = LOWORD( lpMF->lParam ); pt.y = HIWORD( lpMF->lParam ); + if(lpMF->msg == WM_CHAR) { + CHARRANGE sel; + SendDlgItemMessage( hDlg, OPT_CommentText, EM_EXGETSEL, 0, (LPARAM) &sel ); + index = sel.cpMin; + } else index = SendDlgItemMessage( hDlg, OPT_CommentText, EM_CHARFROMPOS, 0, (LPARAM) &pt ); hwndText = GetDlgItem(hDlg, OPT_CommentText); // cloned from above -- 1.7.0.4