2013년 6월 26일 수요일

Soft keyboard bug.

android(4.1.2)에서 USB Keyboard를 연결하고 Soft keyboard를 사용하기 위해 Physical Keyboard turn off 하면 한번 software keyboard가 동작하고 물리적 키보드를 off하여도 안되고 재부팅 해도 안되네요.안드로이드 버그 인듯 한데 재부팅해도 안되는 건 좀 심각한 문제 인 듯 합니다.

http://comments.gmane.org/gmane.comp.handhelds.android.devel/219858

1. connect usb keyboard.
2. physical keyboard turn off.
3. run soft keyboard and It works only one time.
4. set physical keyboard.
5. physical keyboard turn off.
6. does not work soft keyboard never when usb keyboard is connected.

해결책은 언어를 바꾸고 바로 Default를 선택하면 나오는 화면에서 바꿀 수 있네요.


I found a solution.Change Language and just select Default item of "KEYBOARD & INPUT METHODS" menu. and you can change state of Hardware(Physical keyboard) on/off.


1. click "Language & input"

2. click "Default"
3. Change state of Hardware(Physical keyboard) on/off.



fix this file
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/tablet/InputMethodsPanel.java


 37 import android.view.inputmethod.InputMethodSubtype;
 38 import android.widget.CompoundButton;
 39 import android.widget.CompoundButton.OnCheckedChangeListener;
 40 import android.widget.ImageView;


141     @Override
142     public void onFinishInflate() {
143         mInputMethodMenuList = (LinearLayout) findViewById(R.id.input_method_menu_list);
144         mHardKeyboardSection = (LinearLayout) findViewById(R.id.hard_keyboard_section);
145         mHardKeyboardSwitch = (Switch) findViewById(R.id.hard_keyboard_switch);
146         mHardKeyboardSwitch.setOnCheckedChangeListener(
147             new OnCheckedChangeListener() {
148             @Override
149             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
150                 updateHardKeyboardEnabled();
151             }
152         });
153         mConfigureImeShortcut = findViewById(R.id.ime_settings_shortcut);
154         mConfigureImeShortcut.setOnClickListener(this);
155         // TODO: If configurations for IME are not changed, do not update
156         // by checking onConfigurationChanged.
157         updateUiElements();
158     }



댓글 쓰기