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;
            };
相关推荐
weilaieqi13 小时前
华硕发布创梦Pro 27 OLED SDI专业显示器:集成&nbsp;12G-SDI&nbsp;与内置色度计
计算机外设
兴通物联科技3 小时前
条码防重防错防漏防呆:工业数据采集的全链路风控技术方案
大数据·物联网·计算机视觉·计算机外设·硬件架构
开开心心就好3 小时前
小白友好的程序联网封锁实用工具
windows·eureka·计算机外设·rabbitmq·word·excel·csdn开发云
Dxy12393102161 天前
HTML如何写鼠标事件
前端·html·计算机外设
Dxy12393102161 天前
HTML中如何写键盘事件
前端·html·计算机外设
科技每日热闻2 天前
EVNIA弈威天王星舒视蓝4.0系列护眼显示器24M2N2200PK新品——小而强悍,久战不倦!
科技·游戏·计算机外设
蒲公英内测分发2 天前
Typeoff:告别键盘,轻松实现中英混输
计算机外设
我材不敲代码2 天前
【OpenCV零基础实战】键盘交互、像素位运算、通道离合、色彩转换与智能抠像
人工智能·opencv·计算机外设
friendan2 天前
用鼠标单击我的电脑桌面图标或单击文件夹会自动变成重命名状态
计算机外设
俊哥工具3 天前
无广告免费壁纸工具,手机电脑壁纸随心更换
python·智能手机·django·计算机外设·virtualenv·pygame