콘솔환경에서 컨크롤키와 캡룩키를 바꾸는 방법좀 알구싶습니다

trumpethak의 이미지

저는 이멕스를 좋아하는 평범한 리눅서인데요
x환경에서는 컨드롤키와 캡스룩키를 바꾸어서 편하게 사용하구 있는데요
콘솔환경에서두 환경설정해서 편하게 이멕스를 즐기구 싶은데요
loadkeys, dumpkey, showkey, 사용방법을잘몰라서 ㅜㅜ
이렇게 도움을청하게 되었습니다 부탁드림니다

LispM의 이미지

제일 간단한 방법은 xkeycaps라는 프로그램을 사용하는 것이 아닐까합니다. GUI를 통해서 caps lock과 ctrl을 바꿔치기 한 후 파일로 저장하고 그 내용을 .xmodmap 등에서 사용해야 할 겁니다.

http://lisp.or.kr http://lisp.kldp.org - 한국 리습 사용자 모임

정태영의 이미지

위의 분이 말씀해주신..
xmodmap 의 경우 X환경에서만 의미가 있기 때문에.. 이 경우에는 사용하지 못할 듯 하군요..

setkeycode 를 이용하면 가능할 것도 같군요 :)

참고: krisna님 블로그

KeyPress event, serial 28, synthetic NO, window 0x2400001,
    root 0xb7, subw 0x0, time 8223061, (-620,818), root:(392,867),
    state 0x0, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x2400001,
    root 0xb7, subw 0x0, time 8223207, (-620,818), root:(392,867),
    state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
    XLookupString gives 0 bytes:

KeyPress event, serial 28, synthetic NO, window 0x2400001,
    root 0xb7, subw 0x0, time 8223454, (-620,818), root:(392,867),
    state 0x2, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x2400001,
    root 0xb7, subw 0x0, time 8223609, (-620,818), root:(392,867),
    state 0x6, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:

XEV 를 이용해서 잡은 키코드입니다.. 참고해서 해보시면 성공하실 수 있을지도 ;)

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

LispM의 이미지

정태영 wrote:
위의 분이 말씀해주신..
xmodmap 의 경우 X환경에서만 의미가 있기 때문에.. 이 경우에는 사용하지 못할 듯 하군요..
...

그렇군요. X가 아니라 콘솔이군요. 글을 잘 안읽었네요 :(

http://lisp.or.kr http://lisp.kldp.org - 한국 리습 사용자 모임

정태영의 이미지

흠.. 괜히 어렵게 생각했군요 :) 글을 처음 올리신 분이 말하신 명령들을 이용하니 아주 간단하게 해결이 가능하군요..

showkeys 를 실행시키고...
컨트롤 키를 누릅니다.. 키코드가 29번이라는군요 :)
캡스락은.. 58번이라고 하구요..
(입력을 안하고 한동안 있으면 알아서 끝납니다.. 흐흐)

man showkeys
man dumpkeys
man loadkeys

등을 참고해보시면.. 여러가지 참고 설명들이 나옵니다 ;)

/usr/src/linux/drivers/char/defkeymap.map
가 기본 keymap이라는군요.. 그걸 복사해서 새로운 키맵을 만들었습니다..

cp /usr/src/linux/drivers/char/defkeymap.map ~/mymap.map

vi ~/mymap.map
keycode 29=Control 을 찾아서.. keycode 29=Caps_Lock 으로
keycode 58=Caps_Lock 을 찾아서 keycode 58=Control 으로 바꾼다 

loadkeys ~/mymap.map

아주 잘되는군요 :)

p.s) X에서는 영향을 안받는군요..
p.s2) man 페이지에 의하면.. -s옵션을 안붙이면 원래 키맵에 덧붙이기등만 한다는데.. seykeycodes 등으로 이상한 짓을 한 후에 했더니 -_-;; tty1이 마비됐습니다 ㅠ_ㅠ 그래서.. 기본 키맵을 복사해서 바꿔주는걸로 :)

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

정태영의 이미지

흠 그러고보니.. xmodmap 과.. 같은 형식의 맵 파일을 사용하며.. 같은 역할이군요 :)

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

trumpethak의 이미지

man 페이지를 활용하면 될것을 ㅜㅜ
영어가 약하다보니 저에 치명적단첨이군요
담변감사합니다 성공했습니다^^

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.