macOS: Disable ApplePressAndHold

That feature allows entering special characters by holding a key, e.g.
holding the 'l' key opens a popup that allows entering 'ł'. Since that
disables key repeat, we don't want it, though.

Fixes: QTCREATORBUG-26925
Change-Id: I5638337447778b0c873c68195307b92133882e69
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This commit is contained in:
Eike Ziller
2022-02-15 11:26:23 +01:00
parent dad534005e
commit 45c018f560
2 changed files with 44 additions and 0 deletions

View File

@@ -24,6 +24,12 @@ add_qtc_executable(qtcreator
QTC_RUNNABLE
)
extend_qtc_executable(qtcreator
CONDITION APPLE
SOURCES
main_mac.mm
)
if (NOT TARGET qtcreator)
return()
endif()

38
src/app/main_mac.mm Normal file
View File

@@ -0,0 +1,38 @@
/****************************************************************************
**
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
#include <qglobal.h>
#include <Foundation/NSNumberFormatter.h>
#include <Foundation/NSUserDefaults.h>
// Disable "ApplePressAndHold". That feature allows entering special characters by holding
// a key, e.g. holding the 'l' key opens a popup that allows entering 'ł'.
// Since that disables key repeat, we don't want it, though.
static void initializeCreatorDefaults()
{
[NSUserDefaults.standardUserDefaults registerDefaults:@{@"ApplePressAndHoldEnabled": @NO}];
}
Q_CONSTRUCTOR_FUNCTION(initializeCreatorDefaults);