Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(mac): move keyboard menu items to main Input Menu from submenu 🔥 #9777

Merged
merged 4 commits into from
Oct 20, 2023

Conversation

sgschantz
Copy link
Contributor

@sgschantz sgschantz commented Oct 17, 2023

Previously, Keyman for Mac supported switching of keyboards using a submenu from the Keyman section of the Input Menu:

image

This change eliminates the submenu and lists the keyboards at the top of the Keyman section of the Input menu:

image

It is helpful to make this change now because the Keyboards submenu is not functioning properly with macOS Sonoma, 14.0 (see #9684).

Fixes #9684

User Testing

  • TEST_KEYBOARD_SELECTION:
    Run Keyman for Mac and verify that a single keyboard is selected in the Keyman section of the Input Menu. Also, confirm that the selected keyboard is actually the one that is processing keystrokes when typing in a text document.

  • TEST_CHANGING_KEYBOARDS:
    Select a different keyboard from the list in the Keyman section of the Input Menu and verify that:

  1. The keyboard that was selected now has the checkmark next to it when you open the Input Menu.
  2. The previously selected keyboard does not have a checkmark next to it.
  3. When typing in a text document, confirm the selected keyboard is the one that is processing keystrokes.
  • TEST_CONFIGURATION_MENU:
    Select the 'Configuration...' menu item and confirm that it brings up the Configuration window.

  • TEST_SHOW_OSK_MENU:
    Select the 'On-Screen Keyboard' menu item and confirm that it brings up the On-screen Keyboard window.

  • TEST_ABOUT_MENU:
    Select the 'About' menu item and confirm that it brings up the About dialog.

  • TEST_ADD_KEYBOARD:
    Go to the Configuration window and either install a new keyboard or enable one that is already installed by clicking on the checkbox in the leftmost column of the Keyboards pane. Confirm that the newly added keyboard is now listed in the Keyman section of the Input Menu.

  • TEST_REMOVE_SELECTED_KEYBOARD:
    Go to the Configuration window and disable the keyboard that is currently active in Keyman by unchecking the corresponding checkbox in the leftmost column of the Keyboards pane. Confirm that:

  1. the removed keyboard is no longer listed in the Keyman section of the Input Menu
  2. that some other keyboard is now selected instead
  3. that the newly selected keyboard is being used for key processing when typing in a text document
  • TEST_REMOVE_ALL_KEYBOARDS:
    Go to the Configuration window and disable all the keyboards that are currently active in Keyman by unchecking the checkboxes in the leftmost column of the Keyboards pane. Go look at the Input Menu and confirm that the only keyboard listed is a placeholder that says: '(No Keyboard Configured)':

image

  • TEST_MENU_PERFORMANCE:
    When the Input Menu is opened, confirm that the contents of the menu are fully populated and you do not need to open and close the Input Menu a few times for the Keyman section of the menu to appear.

@sgschantz sgschantz self-assigned this Oct 17, 2023
@keymanapp-test-bot
Copy link

keymanapp-test-bot bot commented Oct 17, 2023

User Test Results

Test specification and instructions

  • TEST_KEYBOARD_SELECTION (PASSED): Tested with the attached PR build (Keyman 17.0.192-alpha-test-9777) on Mac Sonoma OS and here is my observation: 1. Installed a keyman keyboard and verified that the single keyboard is selected in the keyman section of the Input menu. 2. I opened a text document and could type with the selected keyman keyboard without having any issues.
  • TEST_CHANGING_KEYBOARDS (PASSED): 1. Verified that the selected keyboard has the checkmark next to it when I opened the Input menu. 2. Also, confirmed that the previously selected keyboard did not have a checkmark next to it. 3. Verified that the selected keyboard is the one that is processing keystrokes When typing in a text document. (notes)
  • TEST_CONFIGURATION_MENU (PASSED): 1. Confirmed that clicking the 'Configuration' option from the menu item opens the Configuration window.
  • TEST_SHOW_OSK_MENU (PASSED): Verified that by selecting 'On-Screen Keyboard' menu item, open up the On-screen keyboard window.
  • TEST_ABOUT_MENU (PASSED): Verified that clicking the 'About' menu item, opens the About dialog. (notes)
  • TEST_ADD_KEYBOARD (PASSED): Tested as per the instructions and confirmed that the newly added keyboard is now listed in the Keyman section of the Input Menu.
  • TEST_REMOVE_SELECTED_KEYBOARD (PASSED): 1. Verified that the removed keyboard is no longer listed in the Keyman section of the Input menu. 2. Instead of that some other keyboard is selected in the menu. 3. Able to type with the newly selected keyboard in a text document. (notes)
  • TEST_REMOVE_ALL_KEYBOARDS (PASSED): 1. Verified that the 'No Keyboard configured' message appears in gray color in the keyman list menu. (notes)
  • TEST_MENU_PERFORMANCE (PASSED): 1. Verified that the contents of the menu are fully populated and no need to open and close the Input menu a few times for the keyman section of the menu to appear.

@keymanapp-test-bot keymanapp-test-bot bot added this to the A17S24 milestone Oct 17, 2023
@sgschantz sgschantz changed the title fix(mac): fix keyboard switching with macOS Sonoma 14.0 fix(mac): move keyboards menu items to main Input Menu from submenu Oct 19, 2023
@sgschantz sgschantz changed the title fix(mac): move keyboards menu items to main Input Menu from submenu fix(mac): move keyboard menu items to main Input Menu from submenu Oct 19, 2023
@keymanapp-test-bot keymanapp-test-bot bot added user-test-missing User tests have not yet been defined for the PR has-user-test user-test-required User tests have not been completed and removed user-test-missing User tests have not yet been defined for the PR labels Oct 19, 2023
… Input Menu and eliminated Keyboards submenu
@sgschantz sgschantz marked this pull request as ready for review October 19, 2023 08:01
@mcdurdin mcdurdin changed the title fix(mac): move keyboard menu items to main Input Menu from submenu fix(mac): move keyboard menu items to main Input Menu from submenu 🔥 Oct 19, 2023
Copy link
Member

@mcdurdin mcdurdin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

This is a great cleanup of the existing code as well as a much needed improvement to the UI. As a bonus, hopefully it means Keyman works on Sonoma as well 😉

mac/Keyman4MacIM/Keyman4MacIM/KMInputMethodAppDelegate.m Outdated Show resolved Hide resolved
Co-authored-by: Marc Durdin <marc@durdin.net>
@bharanidharanj
Copy link

Test Results

  • TEST_KEYBOARD_SELECTION (PASSED): Tested with the attached PR build (Keyman 17.0.192-alpha-test-9777) on Mac Sonoma OS and here is my observation: 1. Installed a keyman keyboard and verified that the single keyboard is selected in the keyman section of the Input menu. 2. I opened a text document and could type with the selected keyman keyboard without having any issues.

  • TEST_CHANGING_KEYBOARDS (PASSED): 1. Verified that the selected keyboard has the checkmark next to it when I opened the Input menu. 2. Also, confirmed that the previously selected keyboard did not have a checkmark next to it. 3. Verified that the selected keyboard is the one that is processing keystrokes When typing in a text document.

  • TEST_CONFIGURATION_MENU (PASSED): 1. Confirmed that clicking the 'Configuration' option from the menu item opens the Configuration window.

  • TEST_SHOW_OSK_MENU (PASSED): Verified that by selecting 'On-Screen Keyboard' menu item, open up the On-screen keyboard window.

  • TEST_ABOUT_MENU (PASSED): Verified that clicking the 'About' menu item, opens the About dialog.

  • TEST_ADD_KEYBOARD (PASSED): Tested as per the instructions and confirmed that the newly added keyboard is now listed in the Keyman section of the Input Menu.

  • TEST_REMOVE_SELECTED_KEYBOARD (PASSED): 1. Verified that the removed keyboard is no longer listed in the Keyman section of the Input menu. 2. Instead of that some other keyboard is selected in the menu. 3. Able to type with the newly selected keyboard in a text document.

  • TEST_REMOVE_ALL_KEYBOARDS (PASSED): 1. Verified that the 'No Keyboard configured' message appears in gray color in the keyman list menu.

  • TEST_MENU_PERFORMANCE (PASSED): 1. Verified that the contents of the menu are fully populated and no need to open and close the Input menu a few times for the keyman section of the menu to appear.

@keymanapp-test-bot keymanapp-test-bot bot removed the user-test-required User tests have not been completed label Oct 19, 2023
@sgschantz sgschantz merged commit e96b99f into master Oct 20, 2023
3 checks passed
@sgschantz sgschantz deleted the fix/mac/sonoma-keyboards-menu branch October 20, 2023 01:12
@keyman-server
Copy link
Collaborator

Changes in this pull request will be available for download in Keyman version 17.0.196-alpha

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bug(mac): Unable to switch keyboards with macOS Sonoma 14.0
4 participants