keymanapp / keyman

Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
https://keyman.com/
Other
386 stars 107 forks source link

[Mac] Compatibility issues with InDesign on Mac #782

Open tombogle opened 6 years ago

tombogle commented 6 years ago

Issue by mcdurdin Sunday May 28, 2017 at 02:12 GMT Originally opened as sillsdev/keyman#29 (edited to separate InDesign issue from Open Office issue: https://github.com/keymanapp/keyman/issues/175 - see that issue for attachments referred to in this issue.)

Dear Marc,

I have been in communication with [some colleagues] as I have been testing the SurmaL Keyman keyboard within a variety of programmes on Mac and PC. It seems to be working well in Windows programs on a PC, and also in Mac designed software on Mac OS (it works fine in Mac Pages and Mac Mail). However, I have noticed that in InDesign on Mac, when typing conjuncts (characters with multiple keystrokes), while the final correct character conjunct IS being formed, the character information from the initial keystrokes is not being deleted.

We understand that Keyman for Mac is a Beta version release, so would like to pass this information on to those working on Keyman for Mac.

I have attached the following to document the error: § PDF ‘Surma-L Keyboard Chart’ – shows the Syloti Nagri Keyboard and full range of keystrokes and complex character conjuncts which should be displayed

§ PDF ‘SurmaL InDesignCC MacOS test’ – shows how the complex characters are incorrectly displaying in InDesignCC2015 on MacOS, with one additional error in that the complex character ‘CoT‘ is not forming at all (though it does form in OpenOffice and InDesignCS6, though with the consistent error of extra characters).

§ PDF ‘SurmaL Test PCInDesignCS6’ – shows that all conjunct characters ARE forming properly with no extra characters in InDesignCS6 on Windows PC (first and last columns of the Keyboard Chart typed here).

Overall, we are pleased with how well the Keyman SurmaL keyboard is working across a wide variety of programs and platforms. However, as the Mac version is a Beta release, we thought it important to report this error to those working on Mac compatibility, especially as the characters seem to be forming properly on a WindowsPC running InDesignCS6, but not forming properly when running InDesignCS6 nor InDesignCC on MacOS.

Please let me know if you have any further questions, or would like clarification concerning anything I’ve written here.

tombogle commented 6 years ago

I tried making Keyman treat InDesign as a "legacy" app, but it fails miserably because it seems to cause InDesign to re-initiate a new session with Keyman after sending the "legacy" delete-back and before it can get processed. Since InDesign isn't able to provide any context, the context gets lost each time, so the result is worse than with the Apple-compliant approach.

tombogle commented 6 years ago

InDesign also has a similar compatibility problem to that of PowerPoint in that it will not allow switching from one Keyman keyboard to another. Except it is worse than PP, because I have't found any scenario where it works at all. The only work-around is to switch to a different app.

tombogle commented 6 years ago

@mcdurdin if you are able to communicate with the original reporter of this issue, it might be good to find out how critical InDesign is to their work. Perhaps either we or they should attempt to communicate to Adobe the nature of the problem to see if they would be willing or able to improve their software to bring it into better compliance with Apple's strategy for application interaction with input methods.

mcdurdin commented 6 years ago

@tombogle do we have a minimal repro input method that we can pass on to Adobe for testing?

tombogle commented 6 years ago

We do now:

InDesign IM Incompatibilities Test.zip

tombogle commented 6 years ago

I have asked Adobe to consider fixing this: https://indesign.uservoice.com/forums/601021-adobe-indesign-feature-requests/suggestions/34700536-improve-compatibility-with-input-methods-that-use