Android 13 默认打开 使用屏幕键盘

原生设置里,系统-语言和输入法-实体键盘-使用屏幕键盘 选项,

关闭时,外接物理键盘,如USB键盘,输入时不会 弹出软键盘。

打开时,外接物理键盘,如USB键盘,输入时 弹出软键盘。

这个选项默认是关闭的。

改为打开,如有需要,可通过 overlay 的方法修改。

复制代码
--- a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -38,4 +38,7 @@
     <!-- Decrease animation duration. -->
     <fraction name="def_window_animation_scale">50%</fraction>
     <fraction name="def_window_transition_scale">50%</fraction>
+
+    <!-- Default for Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD -->
+    <bool name="def_show_ime_with_hard_keyboard">true</bool>
 </resources>

Settings 源码在 ./packages/apps/Settings/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java

复制代码
    @Override
    public void onResume() {
        super.onResume();
        mLastHardKeyboards.clear();
        scheduleUpdateHardKeyboards();
        mIm.registerInputDeviceListener(this, null);
        mShowVirtualKeyboardSwitch.setOnPreferenceChangeListener(
                mShowVirtualKeyboardSwitchPreferenceChangeListener);
        registerShowVirtualKeyboardSettingsObserver();
    }

   private void registerShowVirtualKeyboardSettingsObserver() {
        unregisterShowVirtualKeyboardSettingsObserver();
        getActivity().getContentResolver().registerContentObserver(
                Secure.getUriFor(Secure.SHOW_IME_WITH_HARD_KEYBOARD),
                false,
                mContentObserver,
                UserHandle.myUserId());
        updateShowVirtualKeyboardSwitch();
    }

    private void updateShowVirtualKeyboardSwitch() {
        mShowVirtualKeyboardSwitch.setChecked(
                Secure.getInt(getContentResolver(), Secure.SHOW_IME_WITH_HARD_KEYBOARD, 0) != 0);
    }
    
    private final OnPreferenceChangeListener mShowVirtualKeyboardSwitchPreferenceChangeListener =
            (preference, newValue) -> {
                Secure.putInt(getContentResolver(), Secure.SHOW_IME_WITH_HARD_KEYBOARD,
                        ((Boolean) newValue) ? 1 : 0);
                return true;
            };
相关推荐
电脑小管家10 小时前
笔记本蓝牙怎么开启 完整教程
windows·驱动开发·计算机外设·电脑·音频
min97011921 小时前
键盘鼠标做一份CE\FCC证书需要多少钱?
计算机外设
非凡ghost4 天前
批量转双层PDF(可识别各种语言) 中文绿色版
前端·windows·pdf·计算机外设·软件需求
私人珍藏库4 天前
[Windows] 无界鼠标 Mouse Without Borders 2.2.1.327【汉化直装版】
计算机外设
炒茄子5 天前
Windows:解决电脑开机解锁后黑屏但鼠标可见可移动的问题
windows·计算机外设
GilgameshJSS6 天前
STM32H742-ARM例程32-LCD
c语言·arm开发·stm32·单片机·嵌入式硬件·计算机外设
wufeng无峰6 天前
麒麟系统拔掉鼠标键盘再插上,鼠标键盘没反应
计算机外设·麒麟系统
科技每日热闻6 天前
双模新战力!EVNIA弈威双核电竞显示器27M2N5800Z秒切战局,帧取先机!
计算机外设
恶猫6 天前
FastGestures v2.2.51 鼠标、触控板、屏手势软件
计算机外设·鼠标·手势·触控板·屏手势·手势操作
非凡ghost6 天前
MousePlus(鼠标增强工具) 中文绿色版
前端·windows·计算机外设·软件需求