라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

Qt5에서 제공하는 가상키보드(Qt Virtual Keyboard)를 사용하는 방법에 대해서 설명한다. 다만 Qt Wayland환경에서 사용하는 방법은 설명하지 않으므로 자세한 내용은 다음글을 참고하면 된다.  https://doc.qt.io/qt-5/qtvirtualkeyboard-deployment-guide.html

가상키보드가 화면에 보여지기 위한 벙법에는 두가지가 있다.

데스크탑(Windows 또는 Linux/X11 환경) : 이 경우 응용프로그램을 수정 할 필요가 없이 키보드는 자체적인 최상위 창으로 보여지게된다.

임베디드 장치(특히 eglfs 같은 환경) : 이 경우 응용프로그램의 QML에 InputPanel 을 배치함으로써 화면에 보여진다. 멀티 윈도우를 지원하지 않는 (윈도우 시스템이 없는)환경에서는 필수이고 데스크탑 환경에서는 선택적으로 사용할 수 있다.

사용 방법은 플러그인 프로젝트 파일에서 자동으로 선택된다. (컴파일 시점에)

두 가지 방법 모두에서 응용 프로그램은 QT_IM_MODULE 환경 변수를 설정하여 플러그인을로드해야한다.

응용프로그램의 main함수에서 설정하거나

int main(int argc, char *argv[])
{
    qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));

    ...
}

셸에서 환경변수를 설정한다.

$ QT_IM_MODULE=qtvirtualkeyboard myapp

데스크탑의 경우 더 이상 할게 없지만 아닌 경우는 응용프로그램의 QML에서 InputPanel을 사용하여 인스턴스화해야 한다.

import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
import QtQuick.VirtualKeyboard 2.1

Window {
    id: window
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    TextField{
        width: 250
        height: 70
        anchors.top: parent.top
        anchors.topMargin: 30
        anchors.horizontalCenter: parent.horizontalCenter
    }

    InputPanel {
        id: inputPanel
        z: 99
        x: 0
        y: window.height
        width: window.width

        states: State {
            name: "visible"
            when: inputPanel.active
            PropertyChanges {
                target: inputPanel
                y: window.height - inputPanel.height
            }
        }
        transitions: Transition {
            from: ""
            to: "visible"
            reversible: true
            ParallelAnimation {
                NumberAnimation {
                    properties: "y"
                    duration: 250
                    easing.type: Easing.InOutQuad
                }
            }
        }
    }
}

라즈베리파이3에서 욕토(yocto)로 빌드한 임베디드 리눅스 및 eglfs 환경으로 qtvirtualkeyboard를 사용한 화면.

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

안녕하세요 여러분들을 '발전' 시켜줄 핵발전소입니다.

OS 설치가 되셨다면 이제 라즈베리파이 설정을 해야 되는데요.

기본적으로 라즈베리파이는 리눅스 계열 컴퓨터라서 설치나 업데이트를 '터미널'이라는 환경에서 진행하게 되는데요.

어렵지 않으니 사진을 보면서 천천히 따라 해 보시길 바랍니다.


초기 부팅

환영한다는 메시지와 함께 초기 설정을 시작하게 됩니다.

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu
첫 부팅시 화면

먼저 정상 부팅이 되면 이런 화면이 뜹니다.

Next를 눌러 진행합니다.


지역 설정

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

South Korea를 선택하시면 자동으로 Language와 Timezone이 설정됩니다.

다른 건 체크하지 마시고 Next를 눌러 진행합니다.


비밀번호 설정

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

안 하셔도 됩니다 초기 비밀번호는 raspberry입니다.

Next를 눌러 진행합니다.


화면 테두리 설정

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

모니터에 연결했을 때 화면 가장자리에 검은색 테두리가 생길 경우 체크하시고 Next 해주세요.

그럼 화면을 꽉 채워줍니다.


와이파이 설정

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

와이파이 설정입니다. 연결해주시면 됩니다.


소프트웨어 업데이트 ※ 스킵 추천

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

스킵하시길 추천드립니다 너무 오래 걸립니다.

바쁜 한국인은 버틸 수가 없는 기다림입니다.. 컴퓨터가 멈췄나?라는 생각이 들 수 있으니 스킵하세요!!!

수동 진행함 걱정 마세요!


기본 설정 완료 

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

Restart를 눌러 재부팅을 한번 합시다.


업데이트 진행

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu
외계어 현상

엇? 재부팅을 했더니 외계어가 나옵니다.

이것은 지극히 정상이니 당황하지 마시고 빨간색 화살표를 눌러 터미널을 열여 줍시다.

리눅스 시스템은 설치, 업데이트, 명령을 터미널에서 처리를 합니다.

윈도와는 달라 어려울 수 있지만 잘 따라 주시면 누구나 할 수 있습니다.

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

$ sudo apt-get update 입력해주세요. (이때 sudo는 관리자 명령이라는 뜻입니다.)

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

$ sudo apt-get upgrade 입력해주세요.

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

y 입력해주세요.

많은 기다림이 필요합니다.. 기다려주세요. 

완료가 되었는지 아는 법은? => Pi@raspberrypi:~ $ 가 다시 뜨면 완료가 된 겁니다.

이제 한글 설치를 위한 기기 업데이트 작업이 완료되었습니다.


폰트 설치

한국어가 정상적으로 표시될 수 있도록 폰트를 설치합니다.

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

$ sudo apt install fonts-nanum 입력해주세요.

네이버 나눔 폰트를 설치해줍시다.

설치 중 Y/N 나오면 Y입력해주시면 돼요.

완료되었다면 재부팅해주세요 sudo reboot 해주시면 됩니다.

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

재부팅하니까 한글이 잘 나오네요~!고생 많으셨습니다 여기까지 초기 한글 설정이었습니다.

이제 한글 입력을 위한 키보드를 설치해야 됩니다.


라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

$ sudo apt install fcitx fcitx-hangul  입력해주세요.

여담으로 라즈베리파이 한글 키보드가 여러 종류 있습니다.

fcitx, ibus, nabi 등등 여러 가지 있습니다만,

※ fcitx 말고는 전부 오류가 있어 추천드리지 않습니다. 

ibus는 한영키 전환이 안 되는 버그가 있고

nabi는 실행조차 안됩니다. 

설치가 완료되었다면 필수적으로 해야 될 설정이 있습니다.

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

$ sudo pcmanfm 입력해주세요 (관리자 권한으로 파일 매니저 실행)

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

/etc/default 경로로 들어가 주세요.

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

im-config 파일을 열어주세요.

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

중요합니다!! 넷째 줄에 있는 auto를fcitx로 수정해주세요

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

수정하셨으면 저장해주시면 됩니다.

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

바탕화면으로 가셔서 왼쪽 상단 라즈베리 파이 아이콘 눌러주세요.

기본 설정 > 입력기 누르시면 위 화면이 나옵니다. 예(Y) 눌러주세요

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

default 선택해주시고 확인!

정말 고생 많으셨습니다!! 재부팅 한번 해주시면 한글이 잘 입력되는 것을 확인하실 수 있습니다.

라즈베리파이 가상키보드 - lajeubelipai gasangkibodeu

한글 입력 성공!!! 

한영 변환은 키보드의 한글변환키 or Ctrl+space로 한영 변환이 가능합니다

이것으로 라즈베리파이 기본 설정과 한글 설치, 한글 키보드 설치를 마치겠습니다.

도움이 되셨나요? 궁금한 점은 댓글로 물어봐 주세요.

최대한 빨리 답변할 수 있도록 노력하겠습니다.